2011-11-17 78 views
1

爲了規避MooTool/JQuery與這個想法的衝突:: http://davidwalsh.name/jquery-mootools如何重寫jQuery函數?

我的印象是我不得不重寫NIVO函數。不是JS編碼器,我不清楚我是否可以用另一個函數替換一個函數,或者是否需要重寫。

這是呼叫

(function($) { 
    $('p').css('color','#ff0000'); 
})(jQuery); 

我需要重寫是爲了避免衝突MooTools的的格式?

$(window).load(function() { 
    $('#slider').nivoSlider({ 
    effect:'sliceDown', //Specify sets like: 'fold,fade,sliceDown, or random' 
    animSpeed:1000, //Slide transition speed 
    pauseTime:6000, 
    startSlide:0, //Set starting Slide (0 index) 
    directionNav:false, //Next & Prev 
    controlNav:false //1,2,3... 
}); 
}); 
+0

你嘗試簡單地改變你的代碼的jQuery( 「#滑蓋」)nivoSlider(...)。 ? –

回答

3

您可以封裝所有的jQuery在你傳遞$作爲參數,並與(jQuery的),如上面的代碼完成一個匿名函數調用。這要求所有的jQuery調用都在這樣的函數中。順便說一下,這是jQuery插件的默認格式。

或者你可以把jQuery的,在不衝突模式是這樣的:

jQuery.noConflict(); 

然後,你需要確保沒有任何的jQuery代碼使用$因爲MooTools的希望這樣。而是明確使用jQuery。因此,而不是:

$('#slider').nivoSlider... 

你需要:

jQuery('#slider').nivoSlider... 
+0

非常感謝...我搜索了2個小時左右,最終通過您的回覆找到了解決方案...再次感謝了很多。 – rkaartikeyan