Why does my alarmclock script stop working?

后端 未结 2 1731
死守一世寂寞
死守一世寂寞 2021-01-15 17:59

It only works once. At second button click, nothing occurs.

If I change budilnik variable at i_budilnik or var budilnik, it do

2条回答
  •  一向
    一向 (楼主)
    2021-01-15 18:42

    You call the function wr_hours(); only once... with the onclick budilnik is called, but that doesn't touch wr_hours again. The first time the code is run, because the page is loaded, but after that, with the onclick only the values of min and hour are set again.

    edit: you shouldn't call your form "alert", since that's a reserved word in javascript, same for the variable min. also: the variables min and hour are defined in the function budilnik, but they're not known outside this scope. I also renamed the variable budilnik to a global variable justonce to make sure you can check it outside the scope of budilnik. I rewrote your code a bit:

    
    
        

    Your function wr_hours could be a lot shorter by the way:

    function wr_hours()
    {
        time=new Date();
    
        obj_hours.innerHTML=("%02d",time.getHours())+":"+("%02d",time.getMinutes());
    
        if (justonce==1
            && frm.mins.value==time.getMinutes()
            && frm.hour.value==time.getHours()) {
            alert('welldone');
                justonce=0;
        }
    }
    

提交回复
热议问题