2011-07-18 53 views
0

好的,我使用mootools通過谷歌地圖顯示Flash內容,並努力使其正常工作,因此很少有機會將其切換到jQuery。另一方面,我發現jQuery對其他所有東西都更有用,所以我試圖讓它一起工作。這是爲了解釋。現在這裏是代碼。jquery和mootools衝突 - 一個腳本工作,另一個不要

這個jQuery腳本我用它來顯示/隱藏動畫,並將它與MooTools的完美

<script type="text/javascript"> 
jQuery(document).ready(function() { 
// hides the slickbox as soon as the DOM is ready 
jQuery('#slickbox').hide(); 
// toggles the slickbox on clicking the noted link 
    jQuery('#slick-toggle').click(function() { 
    jQuery('#slickbox').toggle(400); 
    return false; 
    }); 
}); 

工作最近,我加scrit動畫菜單流,我無法得到它的工作。我試圖應用noConflict,但沒有奏效。下面是代碼:

<script language="text/javascript"> 
var $j = jQuery.noConflict(); 
var name = "#floatMenu"; 
var menuYloc = null; 
    $j(document).ready(function(){ 
     menuYloc = parseInt($j(name).css("top").substring(0,$j(name).css("top").indexOf("px"))) 
     $j(window).scroll(function() { 
      offset = menuYloc+$(document).scrollTop()+"px"; 
      $j(name).animate({top:offset},{duration:500,queue:false}); 
     }); 
    }); 
</script> 

錯誤信息遺漏的類型錯誤:對象#有沒有方法「處置」 非常感謝你。

+0

你還在'$(document)'中使用$ –

+0

我編輯了我的文章並添加了錯誤消息。你是對的Dr.Molle,我修正了它,但仍然是同樣的問題。 – culter

回答

2

以這種方式格式化您的代碼,並且有 無需使用 noConflict()在加載jQuery和MooTools庫之後調用jQuery.noConflict();

<script type="text/javascript"> 
(function($){ 
    var name = "#floatMenu", 
     menuYloc = null; 
    $(document).ready(function(){ 
     menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px"))) 
     $(window).scroll(function() { 
      var offset = menuYloc+$(document).scrollTop()+"px"; 
      $(name).animate({top:offset},{duration:500,queue:false}); 
     }); 
    }); 
})(jQuery); 
</script> 

這會將您的代碼封裝到函數中,該函數將傳遞jQuery對象。您在該功能中使用$的任何地方都會參考jQuery

此外,沒有屬性language的值爲"text/javascript",它是type屬性,它應該具有該值。不要再使用language屬性。

+0

謝謝,Shef。不幸的是,它不會工作。 jQuery部分工作正常,但mootools沒有。仍然是相同的錯誤信息。我已經用你的代碼在這裏上傳了它:http://www.turie.eu/hlavna3 – culter

+0

mootools部分我的意思是當你點擊地圖上的雙目圖標時,它必須顯示lightbox克隆(bumpbox)窗口。我已經在這裏嘗試了所有的技巧http://docs.jquery.com/Using_jQuery_with_Other_Libraries,但沒有任何適用於我。再次感謝你! – culter

+0

好的,更新了我的答案。你應該在兩個庫加載後立即調用'jQuery.noConflict();'。 – Shef