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中更改顺序如下
- 的jquery.js
- noconflict.js
- prototype.js这将避免IE8中的错误。
希望这可以帮助
selectbox插件可能正在使用$ for它的JQuery调用。 将selectbox插件中的所有$更改为jQuery,它应该可以正常工作。
如果没有,请为使用过的selectbox插件添加一个链接。
我猜想那个不起作用的插件就是问题所在。 保持noConflict,原型和jQuery之间的兼容性确实需要它。 检查是否将格式正确的HTML对象传递给插件。 可能它期望具有某些特定属性的对象不存在。
gowri解决方案对我有用,如果问题再次存在,那么你需要确认所有你可能用过的js文件检查js文件并按照“gowri”所述更改它们,即:
replace all $( into jQuery( and $. into jQuery.