日期:2014-05-16  浏览次数:20354 次

网上看的jq效果代码为什么只有放到所有<div>外<body>内才有效果?
var site_url = window.location.href.toLowerCase(); 是头一句启的效果么?? 怎么改下,望高手指教....
  switch (true) {
default :
$("#nav li").attr("class","");
$("#nav li").eq(0).attr("class","nav_lishw");
$(".nav_lishw .v a").attr("class","sele");
$(".nav_lishw .kind_menu").show();

$("#nav li").hover(
function(){
clearTimeout(setTimeout("0")-1);
$("#nav .kind_menu").hide(); 
$("#nav li .v .sele").attr("class","shutahover");
$(this).attr("id","nav_hover")
$("#nav_hover .v a").attr("class","sele");
$("#nav_hover .kind_menu").show();

},
function(){

if($(this).attr("class") != "nav_lishw"){
$("#nav_hover .v .sele").attr("class","");
$("#nav_hover .kind_menu").hide();
}
$(this).attr("id","")
$("#nav li .v .shutahover").attr("class","sele");
setTimeout(function(){
$(".nav_lishw .kind_menu").show();
$(".nav_lishw .v a").attr("class","sele");
},50); 
}

------解决方案--------------------
那是因为js代码要在html所有标识都载入后执行才有效果。

把你的代码置入这个里面

$(document).ready(function() {
//你的代码 
});

这样就可以随意放置你的代码位置了...咔咔
------解决方案--------------------
跟着学,是这个理
------解决方案--------------------
等所有dom节点加载完毕后,再调用函数, $(document).ready(function() {
//全部节点加载完后,需要执行的代码
});