我有这个简单的代码,当你按一个键时,它会在div中淡入淡出。当我按两次时,它会消失两次。您是否可以通过简单的一两行来阻止这种情况?就像fadein不再褪色还是什么?
代码如下:
jQuery(document).bind('keydown', 's',function (evt){
$("#div1").fadeIn();
return false;
});
非常感谢。
答案 0 :(得分:1)
不确定你的意思。你的代码有效。假设div默认是隐藏的,当按下键时,div淡化为。如果再次按下该键,它将不会再次淡入,因为它已经显示,除非您正在刷新页面。
答案 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;
});