冻结站点元素直到时间过去

时间:2018-12-19 19:58:41

标签: javascript jquery html

单击“休息”后,套数应减少,时钟应开始计时。 在时钟工作期间,单击网站的任何元素都应该引起任何影响。

相反,第一次单击并可以正常工作,但是在第一次经过时钟后,我可以在时钟工作期间单击减量设置,然后单击另一个中断。

我想在没有异步内容(项目要求; /)的情况下做到这一点

我尝试添加一个冻结变量,但是如何正确放置ifs有问题。 这是我苦苦挣扎的片段:

var freeze = false
$(".start").click(function(){
if(!freeze){
    freeze = true;
    var num = $(this).attr("id");
    var currExcercise = routineSample.excercises[num];
    var res = this;
    var timer = 0;
    var setsTd = "#set"+num;

    if(!currExcercise.allSetsDone)
    {
        timer = currExcercise.breakTime;
        currExcercise.sets--;

        if(currExcercise.sets <= 0 ){
            currExcercise.sets = 0;
            currExcercise.allSetsDone = true;
        } 

        $(setsTd).text(currExcercise.sets);
        if(!currExcercise.breakPassed){       
            setInterval(function(){        
                if(timer>0){
                    timer--;
                    $(res).text(timer);
                }else{
                    if(!freeze)
                        $(res).text("MOVE ON!");
                    currExcercise.timeLeft = timer;
                    freeze = false;
                    //currExcercise.breakPassed = true;                        
                }

            }, 1000);

            freeze = true;

        }
    }else{
        $(res).text("EXCERCISE DONE");
    }
} });

1 个答案:

答案 0 :(得分:0)

要“冻结”页面,请使用以下CSS:

body { pointer-events: none };