如何使用JavaScript或jQuery防止多次单击?

如何使用JavaScript或jQuery防止多次单击?,javascript,jquery,onclick,Javascript,Jquery,Onclick,var slideContainer=(“#slider”); var宽度=720; 函数幻灯片(){ if(parseInt($slideContainer.css('marginLeft'))>=-2160){ $slideContainer.animate({'margin-left':'-='+width},200); } } 您可以通过任何一种方式实现这一点- 您可以使用flag变量来指示动画仍在进行中-最初设置为false,然后在动画开始时设置为true,在动画完成时设置为false

var slideContainer=(“#slider”);
var宽度=720;
函数幻灯片(){
if(parseInt($slideContainer.css('marginLeft'))>=-2160){
$slideContainer.animate({'margin-left':'-='+width},200);
}
}

您可以通过任何一种方式实现这一点-

  • 您可以使用flag变量来指示动画仍在进行中-最初设置为false,然后在动画开始时设置为true,在动画完成时设置为false,在if中使用此标志和表达式(&expression)
  • 虽然有点复杂,但仍然解决了问题,你可以试试这个- 在函数幻灯片中写下以下片段-
  • 希望这有帮助。

    var slideContainer=(“#slider”);
    var宽度=720;
    var=false;
    函数幻灯片(){
    如果(单击)返回;
    单击=真;
    if(parseInt($slideContainer.css('marginLeft'))>=-2160){
    $slideContainer.animate({'margin-left':'-='+width},200,“linear”,()=>{
    单击=false;});
    }
    }

    你可以使用
    .one()
    $('.button')。one(function(){})
    你也可以在点击时禁用按钮,并在任何时候再次启用它。在动画中如何禁用按钮?解释一下你的方法,然后回答有更多的价值使用动画的回调函数,动画结束时,单击“不返回”,否则幻灯片将中断;这个解释使答案更清楚了。我不需要任何解释。我想改进你的答案:)好的,这是一个简单的例子,有很多解决这个问题的方法;实际上,我希望按钮只有在动画完成后才能工作。。。我不想点击,而动画速度(200)有什么办法做到这一点?
    var events = $._data(sliderContainer[0], 'events');
                            handler = events.click;
                            events.click = null;
    
    slideContainer.animate({'margin-left': '-='+width},{duration: 200, complete:function(){evends.click = handler }});