我正在尝试在我的magento安装中实现nivoslider。我只是将downloaded demo package中的内容(已在我的firefox上测试并运行得非常顺利)复制粘贴到magento中。我做了所有功课
jQuery(document).ready(function($) { $('#slider').nivoSlider(); });
添加到my_own-custom_script.js 它运行,但不平稳。有时幻灯片只是暂停了一段时间。其他时间,其中一张图片幻灯片不会显示。动画也有点闪烁。滑块导航(上一个下一个按钮以及滑块底部的圆圈)有时对我的click事件无响应。让我感到困惑的是,所有这些症状只是在有时是发生,而在另一些时候运行良好。
哦,还有一件事,每次我用 Firebug 检查其元素之一时,此nivoslider也会使我的firefox崩溃。
谁能给我一些线索,为什么会这样呢?我怀疑这与magento的Prototype脚本的冲突有关(尽管它们已经在noconflict模式下运行)
最佳答案
经过一番挖掘之后,我找到了解决方案……而该解决方案非常简单:
只需在nivoslider脚本中添加一个下划线字符即可。
只需在nivoslider脚本上替换此行:
$.fn._reverse = [].reverse;
对此
$.fn._reverse = []._reverse;
以下是对那些需要解释的人的解释:
如果在使用nivoslider时看到错误列表(使用firefox,ctrl + shift + j),您将看到原型(prototype)的递归过多。这是对原型(prototype):prototype too much recursion problem的“太多递归”的解释。
在原型(prototype)上使用反向功能已与NivoSlider发生冲突。 github上的人们发现了这个问题,并在此处给出了一种快速的解决方案:
https://github.com/gilbitron/Nivo-Slider/issues/35
这个问题使我发疯,因为到处都没有足够的资源(尝试使用google搜索,您将找不到直接解决此问题的方法)。所以我希望我的问题以及我自己的回答可以帮助其他与我一起经历同样情况的人:)