Предотвращение повторной загрузки одного и того же изображения плагином Galleriffic jquery - PullRequest
1 голос
/ 24 июня 2010

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

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

Ответы [ 2 ]

3 голосов
/ 24 июня 2010

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

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;
            },
0 голосов
/ 24 июня 2010

Ну, я на 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;
            },
...