我的问题是如果我按下"按钮"快速连续非常快,图像重叠。如果我按下"按钮"快速连续快速地,我停止按下按钮,但幻灯片将继续工作。
例如,如果我快速按下按钮20次,图像将重叠,幻灯片将工作20次,比按下按钮的速度慢。 所以我想通过点击"按钮"来阻止点击方法在幻灯片移动时运行。我该怎么办?
$(function(){
var max = $("header > img").length -1;
var sno = 0;
$("button").on("click",function(){
$( $("header > img")[sno] ).animate({
left: "100%"
},1000,function(){
$(this).css({left: "-100%"});
});
sno++;
if( sno > max ) sno = 0;
$( $("header > img")[sno] ).animate({
left: "0%"
},1000);
});
});
答案 0 :(得分:1)
单击按钮时,可以将禁用设置为按钮。
$(function(){
var max = $("header > img").length -1;
var sno = 0;
$("button").on("click",function(){
var button = this;
$(button).prop('disabled', true);
$( $("header > img")[sno] ).animate({
left: "100%"
},1000,function(){
$(this).css({left: "-100%"});
$(button).prop('disabled', false);
});
sno++;
if( sno > max ) sno = 0;
$( $("header > img")[sno] ).animate({
left: "0%"
},1000,function(){
$(button).prop('disabled', false);
});
});
}
并在完整的回调函数中释放它。