2014-12-01 2 views
0

Я сделал таймер обратного отсчета. Он будет выдавать предупреждение/всплывающее окно, когда время увеличивается. я написал такой код:таймер для предупреждения, когда время заканчивается

function cd(){ 
now = new Date(); 
diff = end - now; 
diff = new Date(diff); 
var sec = diff.getSeconds(); 
var min = diff.getMinutes(); 

if(now >= end) 
    { 
    clearTimeout(timerID); 

    window.alert("Time is up. Press OK to continue."); 
    document.forms[0].submit(); 
    } 
    else 
    { 
    document.getElementById("cdtime").innerHTML = min + ":" + sec; 
    } 
    timerID = setTimeout("cd()", 10); 
} 
window.onload = cd 

Это автоматический подавать таймер. Когда время закончится, он отправит форму. Проблема в том, что когда я делаю window.alert, он будет предупреждать, даже я нажимаю «ok». что я должен сделать после того, как я нажму ОК, он перенаправит на document.forms[0].submit()?

+0

Вы знаете, что 10 миллисекунды, а не секунды, не так ли? – briosheje

+0

да, я знаю. Почему? – Lisa

+0

Можете ли вы опубликовать всю функцию «cd»? –

ответ

0

Линия timerID = setTimeout("cd()", 10); всегда выполняется в коде. Он должен быть внутри блока else. Кроме того, нет необходимости очистить тайм-аут

(если вы используете setInterval() функцию вместо setTimeout() вам придется очистить интервал) ...

Попробуйте это.

function cd(){ 
    now = new Date(); 
    diff = end - now; 
    diff = new Date(diff); 
    var sec = diff.getSeconds(); 
    var min = diff.getMinutes(); 

    if(now >= end) 
     { 
     window.alert("Time is up. Press OK to continue."); 
     document.forms[0].submit(); 
     } 
    else 
     { 
     document.getElementById("cdtime").innerHTML = min + ":" + sec; 
     setTimeout("cd()", 10); 
     } 
    } 
window.onload = cd; 
+0

спасибо, брату .. я дал мне лучший обзор в использовании timer.really мне очень помогло даже window.alert not show , :) – Lisa

0

Попробуйте это:

if (window.confirm(‘put stuff here’)) { 
window.location.href=‘put link here’; 
} 
else { 
var x = ""; 
} 
+0

Я не могу сделать window.location, потому что хочу автоматизировать отправку формы – Lisa

0

таймер срабатывают каждые 10 миллисекунд, так что предупреждения на самом деле освежают,

setTimeout keeps firing

прочитать это, чтобы дать вам лучшее представление о том, что помогает

+0

Также теперь я вижу вашу функцию CD() У вас должны быть переменные с именем var now = new Date(); и т. Д. И т. Д. – dav3ydark007

Смежные вопросы