我正在使用以下代码来使用户能够使用向上和向下箭头键显示或隐藏照片说明(#photoinfo)和菜单(.slidetable)。如果这两个div中的其中一个已经打开,那么在打开另一个之前按下相反的箭头将关闭该div。在动画过程中禁用keydown
$(document).unbind('keypress');
$(document).keydown(function(event) {
switch (event.keyCode) {
case 38:
if ($('#photoinfo').is(".open")) {
closeInfo();
}
else if ($('.slidetable').is(".open")) {
closeSlide2();
openInfo();
}
else {
openInfo();
}
break;
case 40:
if ($('.slidetable').is(".open")) {
closeSlide();
}
else if ($('#photoinfo').is(".open")) {
closeInfo();
openSlide();
}
else {
openSlide();
}
break;
}
return false;
});
看来工作,只是问题是,如果在同一时间按下两个箭头,或一前一后,双方的div打开,重叠在一起。我正在寻找一种方法,在第一次动画启动后基本上取消绑定keydown函数,并在完成后重新绑定keydown函数。我是一个jQuery新手,所以也许这不是做这件事的最好方法。在动画期间防止其他功能发射的最简单方法是什么?
感谢
$(this).animate({options},duration,callback); – 2010-09-27 18:39:34
很伤心,我不记得那 – methodin 2010-09-27 18:41:16