Можно ли запретить плагину Gallerific перезагрузить то же изображение, которое уже отображается?

Например, если пользователь дважды щелкает один и тот же эскиз, изображение галереи перезагружается. Может ли Galleriffic определить, что пользователь запрашивает одно и то же изображение дважды и, следовательно, не должен перезагружаться, пока не будет запрошено новое изображение?

1
Randy Burgess 24 Июн 2010 в 00:01

2 ответа

Лучший ответ

Я просто добавил статическую переменную, чтобы отслеживать каждый раз, когда изображение запускается. Если загружается первое изображение, мой «сценарий предотвращения перезагрузки» пропускается.

gotoImage: function(imageData) {

                var index = imageData.index;

                if(typeof foo == 'undefined') {
                    foo = 0;
                };
                foo++;

                if (foo == 1 | index != this.currentImage.index){   
                    if (this.onSlideChange)
                        this.onSlideChange(this.currentImage.index, index);

                    this.currentImage = imageData;
                    this.preloadRelocate(index);

                    this.refresh();
                };
                return this;
            },
3
Randy Burgess 24 Июн 2010 в 00:48

Ну, я на 70% готов ответить на него сам, но единственная проблема в том, что я должен игнорировать первое изображение (с индексом 0), иначе оно не запустит галерею.

Вставил эту логику:

if (index == 0 | index != this.currentImage.index){};   

В эту функцию:

gotoImage: function(imageData) {
                var index = imageData.index;

                if (index == 0 | index != this.currentImage.index){             
                    if (this.onSlideChange)
                        this.onSlideChange(this.currentImage.index, index);

                    this.currentImage = imageData;
                    this.preloadRelocate(index);

                    this.refresh();
                };
                return this;
            },
0
Randy Burgess 23 Июн 2010 в 23:27