Magento显示jQuery彼此冲突

我对Magento很新手。 我已经使用横幅rotaor脚本来显示横幅。 因为我必须在每个页面上显示横幅,这就是为什么我在header.phtml文件中实现了滑块,以便我可以在每个页面中显示横幅。 所以在header.phtml我的滑块代码是这样的

    <script language="javascript">
         jQuery.noConflict();
        jQuery(document).ready(function(){
          bannerRotator('#bannerRotator', 500, 5000, true);
        });
      </script>
<div id="bannerRotator">
  <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('homepageslider')->toHtml(); ?>
</div>

这里的滑块运行良好,但当我看到Firefox中的console tab ,我得到了一些错误。这里是控制台选项卡错误的图像。 在这里输入图像描述 为了解决我搜索的所有问题,并了解到jQuery有冲突。 所以为了清楚说明我使用了jQuery.noConflict并且也将所有$都删除到了jQuery 。 但我仍然遇到同样的问题。 任何帮助和建议都将非常可观。 谢谢

现场可以在这里找到


在app / design / frontend / default / [主题名称] /template/page/html/head.phtml文件中包含jquery.noConflict。

在包含jquery之后,并且在getCssJsHtml()之前添加此权限

我在实现中更进了一步,并将它命名为$ j var,但您可以这么做,或者只是实现jquery.noConflict();

如果您使用var $ j,那么您的所有jQuery调用都将与该对象一起使用。

我这样做了:

!-- adding jQuery -->
<script type="text/javascript"     src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
     var $j = jQuery.noConflict();
//]]>
</script>
<!-- ************* -->

<?php echo $this->getCssJsHtml() ?>

在你的header.phtml中,你需要像这样调用你的滑块:

<script language="javascript">
$j(document).ready(function(){
          bannerRotator('#bannerRotator', 500, 5000, true);
        });
</script>

你有两个问题。

1)

你包含jQuery 两次 。 你有jquery.js(1.7.1),还包括jquery-1.4.4.min.js。 这是造成正在看到的问题。

在项目中搜索字符串'jquery-1.4.4.min.js',你可能会在XML配置文件中找到一个exntry,试着评论一下。

可能两个模块都是通过Magento XML配置添加jQuery。 删除模块XML配置文件中的这些条目之一,问题应该消失。 我建议删除jquery-1.4.4.min.js,因为大多数其他jquery插件都会包含jquery-1.4.4.min.js,这会导致更多问题。

2)

在使用jquery之后调用jQuery.noConflict()。 如上所述,获取这个结果的最好方法是打开你的jquery.js文件,并将其添加到文件的最后:jQuery.noConflict();


你必须添加jQuery.noConflict(); 到jquery.js脚本文件的末尾,而不是在它之外,因为它必须在包含prototype.js脚本之前调用。

链接地址: http://www.djcxy.com/p/11791.html

上一篇: Magento showing jQuery conflict with each other

下一篇: Sparse Image matching in iOS