防止双重执行jquery函数?

时间:2011-11-03 16:36:34

标签: jquery

我已设置此功能,以便在导航中定位时显示一个div。

$(document).ready(function(){
    $('.div1, .div2').hide();
    $("nav a").hover(function () {  
    var name= this.name;
    $("."+name).fadeIn().siblings().hide();
   });  
});

此功能有效,但如果我在导航元素之间切换速度非常快,则可能会发生div1和div2同时出现。

如何防止这种情况发生?

谢谢。

1 个答案:

答案 0 :(得分:2)

添加对stop的调用以在隐藏之前停止现有动画。

$(document).ready(function(){
    $('.div1, .div2').hide();
    $("nav a").hover(function () {  
    var name= this.name;
    $("."+name).fadeIn().siblings().stop(true, true).hide();
   });  
});