我正在使用流沙来过滤类别和Superbox(http://toddmotto.com/labs/superbox/)以在下拉菜单中显示基于高级插件Royal Slider的图库。
http://bvh.delineamultimedia.com/?page_id=2
此文件中的_animateTo:函数周围的Royal Slider似乎存在问题... http://bvh.delineamultimedia.com/wp-content/plugins/new-royalslider/lib/royalslider/jquery.royalslider.js?ver=3.0.93在1825行左右。这导致滑块在Superbox下拉功能内部无法正常工作。当我点击Royal Slider上的下一个按钮时,它似乎不想转到下一个图像,直到我关闭Superbox并再次打开它。然后是下一个图像出现的时候。
在这个页面上...... http://bvh.delineamultimedia.com/?page_id=13我似乎没有皇家滑块的问题,这就是为什么我认为与Superbox和Royal Sliders javascript存在冲突的原因。此外,在此页面上... http://bvh.delineamultimedia.com/?page_id=12 Superbox可以很好地处理静态图像。
我想以某种方式陈述“如果有画廊展示它 - 否则在同一个地方显示静态图像。”
我也觉得我在这里改变了我的代码。 http://bvh.delineamultimedia.com/wp-content/themes/bvh/js/portfolio/superbox.js不是最好的,因为我在这里和那里猜测一下这个有用。
我一直在努力学习如何调试JS,但说实话我有点迷失。我认为问题发生在_animateTo:funtion的原因是因为控制台没有触发_stopAnimation。任何人都可以帮助解决为什么会发生这种情况,以及调试此问题的好方法。我觉得此刻有点不知所措。
要查看问题:要转到http://bvh.delineamultimedia.com/?page_id=2并点击第一张图片,会有一个下拉列表,您可以在其中看到图库。如果单击下一个箭头,则不会转到下一个图像。如果您关闭Superbox下拉列表并重新点击第一张图片以查看Superbox下拉列表,您将看到图像移动到下一张图像,但只有在您单击下一个箭头后关闭并重新打开Superbox时才会移动。
我希望这是有道理的。非常感谢!
答案 0 :(得分:1)
我检查了你的Superbox.js中的代码。问题是你克隆了元素而不是附加它。在这种情况下,皇家滑块。这条线是罪魁祸首,它创造了两个不同的“滑块”。只有一个在工作,虽然它是隐藏的。
if (sliderData.length > 0) { // show the slider if there is one
superbox.append(sliderData.clone(true));
}
只需删除.clone()方法即可。
修复元素在结束回调期间消失的问题。在此处替换此行:
superbox.find('.royalSlider').remove(); // remove the slider from previous events
到这一个:
superbox.find('.royalSlider').appendTo($(this));
总而言之,所有这一切都是在触发时将滑块从列表项元素移动到Superbox中,并在其关闭时将其放回。