2010-04-22 86 views

回答

4

嘗試移動jQuery代碼爲div.sidenavOffready確定指標裏面,像這樣

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a").click(function(event){ 
      alert("Thanks for visiting!"); 
     }); 
     $("div.sidenavOff").mouseover(function(){ 
      $(this).removeClass().addClass("sidenavOver"); 
     }).mouseout(function(){ 
      $(this).removeClass().addClass("sidenavOff");  
     }); 
    }); 

</script> 
+0

這個工作!每個jQuery的東西都必須在ready函數中嗎? – Strawberry 2010-04-22 00:30:17

+2

如果您打算使用DOM,或者您的腳本處於頭部。您需要在$(document).ready()中運行它,或者將腳本移動到頁面的底部,以便在DOM加載到頁面後運行該頁面。 – RedWolves 2010-04-22 00:36:44

0

您需要將您的$(document).ready(function() {...塊.mouseover的電話和.mouseout。就像你所做的那樣,當調用選擇器$("div.sidenavOff")時,那些元素還不存在,並且沒有附加處理程序。將它們移動到document.ready中將在元素加載後調用它們。

0

你也可以做像水木清華

$(document).ready(function(){ 
    $("div.sidenavOff").mouseover(
    function(){ 
     $(this).toggleClass("sidenavOver").toggleClass("sidenavOff",true); 
    } 
    ) 
} 
) 

它具有相同的功能喬納森的例子,但它是較少的代碼寫:)