magento使用jquery与noconflict

我正在为我的Magento商店使用2个jquery脚本。 其中一个脚本,滑块完美运行,另一个不起作用。

jQuery.noConflict();jQuery(function($){ function mycarousel_initCallback(carousel) { // Disable autoscrolling if the user clicks the prev or next button. carousel.buttonNext.bind('click', function() { carousel.startAuto(0); }); carousel.buttonPrev.bind('click', function() { carousel.startAuto(0); }); // Pause autoscrolling if the user moves with the cursor over the clip. carousel.clip.hover(function() { carousel.stopAuto(); }, function() { carousel.startAuto(); }); }; jQuery(document).ready(function() { jQuery('#mycarousel').jcarousel({ auto: 0, wrap: 'circular', animation: 600, scroll: 6, initCallback: mycarousel_initCallback }); $('.block_cart_header').hover(function(){ $('.cart_add_items').fadeIn(700); }, function(){ $('.cart_add_items').fadeOut(700); }); }); jQuery(document).ready(function() { jQuery('.dropdown').selectbox(); }); }); 

当我删除jQuery.noconflict(); 这两个脚本都有效但原型脚本不起作用。

这是不起作用的脚本:

 jQuery(document).ready(function() { jQuery('.dropdown').selectbox();}); }); 

你需要在jQuery相关函数和插件中替换所有$(转换为jQuery($. jQuery.

例如在你的代码中替换

 jQuery('.block_cart_header').hover(function(){ jQuery('.cart_add_items').fadeIn(700); }, function(){ jQuery('.cart_add_items').fadeOut(700); }); 

额外的信息

您可以更改库文件启动的顺序。 在page.xml中更改顺序如下

  1. 的jquery.js
  2. noconflict.js
  3. prototype.js这将避免IE8中的错误。

希望这可以帮助

selectbox插件可能正在使用$ for它的JQuery调用。 将selectbox插件中的所有$更改为jQuery,它应该可以正常工作。

如果没有,请为使用过的selectbox插件添加一个链接。

我猜想那个不起作用的插件就是问题所在。 保持noConflict,原型和jQuery之间的兼容性确实需要它。 检查是否将格式正确的HTML对象传递给插件。 可能它期望具有某些特定属性的对象不存在。

gowri解决方案对我有用,如果问题再次存在,那么你需要确认所有你可能用过的js文件检查js文件并按照“gowri”所述更改它们,即:

 replace all $( into jQuery( and $. into jQuery.