я ищу хороший/легкий сценарий галереи. jQuery, плоскость JavaScript или флэш-память. какие-либо идеи? должно быть возможно отобразить миниатюры и щелчок для большего представления, но также и возможность нажать через ряд изображений (предыдущая/следующая кнопка)
спасибо
На основе Flash:
Javascript + AJAX:
альтернативный текст http://nettuts.s3.cdn.plus.org/501_imagegallery/final.png
( источник: smashingmagazine.com )
( источник: smashingmagazine.com )
JQuery:
На основе CSS:
Java Script + CSS + SWF Фильмы:
SqueezeBox - Расширяемый лайтбокс (v1.1)
(источник: smashingmagazine.com )
Очень хорошая аналогия для интерфейсов представлена Мэтью Кокран
"Это делает гораздо проще" мир кода ", в котором можно ориентироваться. Представьте, если бы вместо того, чтобы научиться водить машину, а затем иметь возможность водить любую машину, мы должны были научиться водить каждый экземпляр каждой машины, в которую мы садимся. Было бы действительно неэффективно, если бы после обучения вождению Ford Pinto нам пришлось начинать все сначала, чтобы разобраться в Mustang. Гораздо более эффективный способ - бороться с интерфейсом автомобилей: руль, сигналы поворота, педаль газа и тормоз. Таким образом, независимо от того, что реализовано на бэкэнд интерфейса, мы на самом деле не заботимся, потому что в конечном итоге он подписывается на базовый контракт автомобиля и именно так мы будем с ним бороться. (через интерфейс) .2
Наряду с общим объяснением, приведенным выше, большинство современных моделей разработки программного обеспечения в значительной степени полагаются на такие интерфейсы, как Dependency Injection
Рассмотрим следующий пример:
У вас есть класс, способный воспроизводить медиафайлы (mp3). Вы даете этот класс другу, который пытается воспроизвести файлы MPEG. Он не сможет сделать это без внесения существенных изменений в ваш класс.
public class MusicPlayer
{
void Play(Mp3 _mp3File){}
}
Рассмотрим этот
Вместо передачи типа файла mp3 в метод воспроизведения, что если передать этот метод, производный от интерфейса типа MediaType.
public interface MediaType { }
public class Mp3 : MediaType
{ }
public class MPEG : MediaType
{ }
и класс:
public class MusicPlayer
{
void Play(MediaType _mediaFile){}
}
В этом сценарии можно получить другой тип MediaFile и из MediaType, например MPEG, и передать его в метод Play, и он с радостью примет его и сыграет его для вас (при условии логики).
public class TestPlayers
{
public void PlayMedia()
{
MusicPlayer musicPlayer = new MusicPlayer();
musicPlayer.Play(new Mp3());
musicPlayer.Play(new MPEG());
}
}
Надеюсь, что это поможет
Интерфейсы -121--2890433-полезны в несколько более сложных сценариях, например,
(1) Требуется множественное наследование (в c # нельзя наследовать от 2 классов), например, интерфейсы IProduct, IDisposable. Не каждый продукт должен быть утилизирован, поэтому его не имеет смысла внедрять на всех продуктах и т.д.
(2) Когда вы используете инъекцию зависимости (инверсию управления) и насмешливую структуру (например, RhinoMocks) для вашего единичного тестирования - тогда вам придется работать с интерфейсами, иначе ваша насмешливая структура не будет работать.
-121--2890431-FancyBox - http://fancybox.net/ также является хорошим.
Mootools - это очень компактный Javascript фреймворк и здесь также есть скрипт ImageGallery основанный на Mootools
http://tutorialdog.com/javascript-image-gallery-using-mootools/
Я собрал галерею, которая полностью проста. Простой в использовании, простой в обновлении.
См. Демонстрацию здесь: http://nikc.org/galleries/index/
Прокомментируйте, если вам интересно.