JQuery:如何限制CLICK(制作幻灯片)?

时间:2017-01-19 01:40:00

标签: javascript jquery html click slide

我的问题是如果我按下"按钮"快速连续非常快,图像重叠。如果我按下"按钮"快速连续快速地,我停止按下按钮,但幻灯片将继续工作。

例如,如果我快速按下按钮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);
    });
});

1 个答案:

答案 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);
        });
    });
}

并在完整的回调函数中释放它。