首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果JQuery TouchTouch插件的URL被动态更改,它们不会显示照片

如果JQuery TouchTouch插件的URL被动态更改,它们不会显示照片
EN

Stack Overflow用户
提问于 2015-04-27 02:08:46
回答 1查看 570关注 0票数 0

我在我的一个网站上有一个基于JQuery TouchTouch的画廊。当我把它叫做带有页面的照片列表时,它的工作原理非常完美。最近,我需要增加这个页面的新功能(网站是在线商店,我说的是带有产品的页面)。我需要加载相同的不同颜色的产品,而不离开页面(不同的URL仍然用于这个目的,但我需要尽快更改,因为重复影响SEO)。

使用AJAX,我正在加载有关产品的所有必要信息(包括照片URL),并且一切正常,除了JQTT图库:如果我不对第一次使用的选择器调用touchTouch(),在页面加载过程中--什么都不起作用(显然,没有插件提供的照片信息自动更新)。但是,当我第二次在相同的选择器上调用touchTouch()时,会出现带有按钮(箭头)的叠加,但是照片从未加载,只有加载的GIF才会永久显示。我已经在Mozilla FireFox和Google中检查过--同样的行为。顺便说一下,缩略图可以很好地加载,但是显示它们与插件没有直接关系,因为它们只是加载大照片的触发器。

第一件可能有帮助的事情,如我所设想的,是一个测试:调用touchTouch()不是在AJAX请求和DOM中插入新照片之后立即调用,而是在长时间延迟(例如,10秒)之后调用它,以确保这个问题不是插件的预装特性(如果有的话)或类似的特性中的问题。这没什么用。

然后我做了第二次测试:我删除了文档准备中的第一个touchTouch()调用(因此,插件在加载文档时不起作用),然后在更新照片之后进行这个调用。在本例中,插件运行良好。

因此,鉴于上述,我正在寻找解决方案,如何使JQTT插件工作后,照片列表更新。选择器总是相同的(我指的是用于每一张照片并在$( selector ).touchTouch()中调用的CSS类名)。

在网站上有一个真实的例子:bertoia/bertoia-1目前,一个产品的两个版本(带有黑色座椅和白色座椅的设计师座椅)可以通过两个链接(当前标记为厚厚的黑色下划线)获得。第二个链接以"bertoia-2“结束(而不是"bertoia-1")。

我编写了一个函数loadProductPage(productId)来加载第二个产品,而不遵循链接(您可以在页面源代码的底部看到代码)。如果您从控制台调用此函数-您将看到所描述的问题( DB中的第二个产品的id为6,因为第一个是5,因此,如果您打开第一个链接-调用loadProductPage(6))。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-03 01:04:18

这太可怜了,只剩下5天了,没有人帮我提这么简单的问题。我自己找到了解决办法。没有其他选择,而不是逐行探索JQuery Touch Touch JS代码,我注意到它在div中创建了带有类“占位符”的类“占位符”,其中包含id "galleryOverlay",不管它们是否是早期的创建者。我的意思是,它将新的占位符-div附加到现有的占位符中(在以前调用touchTouch()方法时),因此它破坏了脚本逻辑,并且由于使用了错误的占位符-div,它不能再加载新的照片。

解决方案是在更新照片和缩略图之前以及再次调用touchTouch()方法之前删除先前的占位符-div。对于JQuery,它是一条简单的代码行:

代码语言:javascript
复制
$('#gallerySlider .placeholder').remove();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29886066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档