jQuery Accordion + Magento问题 - 可能发生冲突?

时间:2011-09-23 15:20:04

标签: jquery magento jquery-tools

我在Magento环境中使用jQuerytools手风琴/标签,出于某种原因,脚本似乎无法正常工作。

如果您查看下面的工作页面,您将看到独立环境中的内容和脚本正常工作。

但是一旦它被放入Magento(非工作页面),手风琴窗格就不会打开,我看不到任何明显的错误。

工作页面 - http://www.justkitchens.co/sandbox/JustDoors/acrylic-kitchen-doors-chooser.html 非工作页面 - http://www.justkitchens.co/chooser-test/

有人可以帮助我吗?

编辑:我已经注释掉了jquery-ui.min.js脚本被调用,事情似乎正在发挥作用......所以看起来像是冲突...

1 个答案:

答案 0 :(得分:2)

你是在noConflict模式下运行jquery吗?

Magento使用原型,所以你需要这样做。

来自http://www.fontis.com.au/blog/magento/using-jquery-magento

  

通常,这就是你需要做的所有事情,但是因为Magento还包括了   原型,我们需要处理一个微妙的问题。 jQuery使用$作为访问jQuery库的简写。但Prototype也使用$来访问自己。这会导致Web浏览器的global JavaScript命名空间发生冲突。幸运的是jQuery提供了一个解决方案,jQuery.noConflict();函数为jQuery定义了一个新的简写,例如:

var $j = jQuery.noConflict();
  

上面的代码需要在jQuery库代码之后,但在任何其他JavaScript库之前。您可以在已复制到js目录的jQuery文件的底部包含noConflict调用。因此,您需要确保layout / page.xml中包含的“action method”行位于包含Prototype或任何其他JavaScript库的代码之前。

关于它的替代文章:http://css-tricks.com/2011-using-jquery-in-magneto/