Javascript 制造<;部门>;200毫秒内不可读取

Javascript 制造<;部门>;200毫秒内不可读取,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我希望这个盒子像我做的那样上下移动,但是我不希望人们能够点击它一百万次,然后看着它上下移动,因为你点击它的速度比它发生的速度快得多。所以我的问题是如何在单击时设置200毫秒的延迟,或使其在这200毫秒内不可单击? 以下是JSFIDLE: div{ 位置:绝对位置; 背景色:#abc; 左:50px; 宽度:90px; 高度:90px; 顶部:100px; 保证金:5px; } $('.block')。单击(函数(){ 如果($('.block').attr('id')=='up'){ $('.

我希望这个盒子像我做的那样上下移动,但是我不希望人们能够点击它一百万次,然后看着它上下移动,因为你点击它的速度比它发生的速度快得多。所以我的问题是如何在单击时设置200毫秒的延迟,或使其在这200毫秒内不可单击?

以下是JSFIDLE:


div{
位置:绝对位置;
背景色:#abc;
左:50px;
宽度:90px;
高度:90px;
顶部:100px;
保证金:5px;
}
$('.block')。单击(函数(){
如果($('.block').attr('id')=='up'){
$('.block').animate({'top':'-=50px'},200);
$('.block').attr('id','down');
}否则{
$('.block').animate({'top':'+=50px'},200);
$('.block').attr('id','up');
}
}
); 
尝试播放动画:

尝试动画:


如果单击事件当前正在使用以下工具设置动画,则可以停止该事件:

$('.block').click(function(){
    if ( $(this).is(":animated") ) return false;
    ... rest of your code ...
});

但是,我更喜欢按照Esailija的建议停止动画。

如果单击事件当前正在使用以下方法进行动画制作,则可以停止该事件:

$('.block').click(function(){
    if ( $(this).is(":animated") ) return false;
    ... rest of your code ...
});
然而,我更喜欢像Esailija建议的那样停止动画

$('.block').click(function(){
    if ( $(this).is(":animated") ) return false;
    ... rest of your code ...
});