2010-04-22 70 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); 
    } 
    ) 
} 
) 

它具有相同的功能乔纳森的例子,但它是较少的代码写:)