我正在为我的Magento商店使用2个jquery脚本。其中一个脚本,一个滑块完美运行,另一个不起作用。
<script type="text/javascript">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();
}); });</script>
当我删除jQuery.noconflict();这两个脚本都有效但原型脚本不起作用。
这是不起作用的脚本:
jQuery(document).ready(function() {
jQuery('.dropdown').selectbox();}); });</script>
答案 0 :(得分:7)
您需要在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 :(得分:2)
selectbox插件可能正在使用$ for它的JQuery调用。将selectbox插件中的所有$更改为jQuery,它应该可以正常工作。
如果没有,请为使用过的selectbox插件添加一个链接。
答案 2 :(得分:0)
我猜想那个不起作用的插件就是问题所在。保持noConflict,原型和jQuery之间的兼容性确实需要它。检查是否将格式正确的HTML对象传递给插件。可能它期望具有某些特定属性的对象不存在。
答案 3 :(得分:0)
replace all $( into jQuery( and $. into jQuery.