如何使用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);
}
}
您可以通过任何一种方式实现这一点-
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 }});