如何:如果fadeIn不再褪色(jQuery)

时间:2011-04-13 03:40:44

标签: javascript jquery

我有这个简单的代码,当你按一个键时,它会在div中淡入淡出。当我按两次时,它会消失两次。您是否可以通过简单的一两行来阻止这种情况?就像fadein不再褪色还是什么?

代码如下:

jQuery(document).bind('keydown', 's',function (evt){
   $("#div1").fadeIn();
   return false;
});

非常感谢。

3 个答案:

答案 0 :(得分:1)

不确定你的意思。你的代码有效。假设div默认是隐藏的,当按下键时,div淡化为。如果再次按下该键,它将不会再次淡入,因为它已经显示,除非您正在刷新页面。

检查http://jsfiddle.net/F8s8X/

答案 1 :(得分:0)

试试这个:

var isFading = false
jQuery(document).bind('keydown', 's',function (evt){
   if(!isFading){
     isFading = true;
     $("#div1").fadeIn(400,function(){ isFading = false; });
     return false;
   }
});

答案 2 :(得分:0)

而不是使用$.bind()使用$.one()。这会将您的处理程序绑定到事件,并在第一次运行后自动解除绑定 http://api.jquery.com/one/

jQuery(document).one('keydown', 's',function (evt){
   $("#div1").fadeIn();
   return false;
});