防止 Galleriffic jquery 插件重新加载同一张图像两次

发布于 2024-09-06 22:40:14 字数 123 浏览 12 评论 0原文

是否可以阻止 Gallerific 插件重新加载已显示的相同图像?

例如,如果用户单击同一缩略图两次,图库图像将重新加载。 Galleriffic 是否可以确定用户两次请求同一图像,因此在请求新图像之前不应重新加载?

Is it possible to prevent the Gallerific plugin from reloading the same image that’s already showing?

For instance, if a user clicks on the same thumbnail twice, the gallery image reloads. Can Galleriffic determine that the user is requesting the same image twice and thus should not reload until a new image is requested?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与酒说心事 2024-09-13 22:40:14

我刚刚添加了一个静态变量来跟踪每次图像被触发的情况。如果加载第一个图像,则会跳过我的“重新加载预防脚本”。

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;
            },

I just added a static variable to keep track each time an image is fired. If the first image is loaded, my "reload prevention script" is skipped.

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;
            },
小兔几 2024-09-13 22:40:14

好吧,我大约 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;
            },

Well, I'm about 70% there to answering it myself, but the only problem is that I have to ignore the first image (at index 0) or it won't start the gallery.

Inserted this bit of logic:

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

Into this function:

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;
            },
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文