这一段js不是很明白,为什么要判断长度是否大于零啊,stop(true,true)为什么用这个呢,不是很理解
// 导航移上去显示二级导航的效果 $(".nav_list_all").find(".nav_list").hover(function(){ if($(this).find(".nav_child").length>0){ $(".nav_child_bg").stop(true,true).slideDown(200); $(this).find(".nav_child").stop(true,true).slideDown(300); } },function(){ $(".nav_child_bg").stop(true,true).slideUp(300); $(this).find(".nav_child").stop(true,true).slideUp(200); })
2차 내비게이션 제작 및 구현이 이해가 안 되시나요? -PHP 중국사이트 Q&A - 2차 내비게이션 제작 구현이 이해가 안 되시나요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
1.不判断长度是否大于零。长度为零时(".nav_child").stop执行会报错,因为无可执行对象,同时也可以节省操作,长度为零则不需要展开。$(".nav_child_bg")(应该是背景吧),背景是不需要移动的。
2.stop(true,true)。hover会在移入和移出的时候触发分别触发一个回调函数。你想一下,触发移出的时候,移入动画还未执行完毕(仍然在展开),是不是就不是你预期的移出的效果(收回),会有一定滞后(已经需要收回了,动画还在执行展开)。而且把stop()都去掉频繁hover会导致无操作时动画还在跑。