关于定时器里面n次数不增加怎么办

里面的n次数不增加不知道是什么原因,还有就是执行了三次以后怎么清除执行。

var firstShow = 1000;

var secondShow = 5000;

var threeShow = 10000;


setTimeout(openMdivM, firstShow);

function openMdivM() {

    $("#swtCenter2").fadeIn(1000);

}


var n = 0;

function closeM(n) {

    $("#swtCenter2").fadeOut(1000);

    setTimeout(openMdivM, 50000);

    n = n++;

    if (n == 1) {

        setTimeout(openMdivM, secondShow);

    }

    if (n == 2) {

        setTimeout(openMdivM, threeShow);

    }

    if (n == 3) {

        clearTimeout();

    }

}


温温酱
浏览 425回答 1
1回答

慕勒3428872

绑定事件里面先n++再执行closeM(n),closeM(n)里面的n=n++要去掉。    $("#swtCenter2").on('click',function(){            n=n+1            closeM(n)        });第三次直接if (n==3) {$("#swtCenter2").fadeOut(1000);}就行了或者这样        var n=0;        function closeM() {        $("#swtCenter2").fadeOut(1000);        n=n+1;        return function (n){            console.log(n)            if(n==1){setTimeout(openMdivM,secondShow);            }            if(n==2){setTimeout(openMdivM,threeShow);            }            if(n==3){$("#swtCenter2").fadeOut(1000);}}        }        $("#swtCenter2").on('click',function(){            closeM()(n);        });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript