взимане на последната стойност

obqvi_in

Registered
[js]function startTimer() {
userInput = document.getElementById('userTime').value;
if(userInput.length == 0){
alert("СТАВАЙ");
}
else {
var numericExpression = /^[0-9]+$/;
if(!userInput.match(numericExpression)){
alert("САМО ЦИФРИ")
}
else {
function display( notifier, str ) {
document.getElementById(notifier).innerHTML = str;
}
function toMinuteAndSecond( x ) {
window.onbeforeunload = function(e) {
if(x > 0) {
return 'НЕ ИЗЛИЗАЙ АКО СИ ОСТАВИЛ АЛАРМАТА';
}
}
return "Остават " + Math.floor(x/60) + ":" + x%60 + " мин.";
}
function setTimer( remain, actions ) {
(function countdown() {
display("countdown", toMinuteAndSecond(remain));
actions[remain] && actions[remain]();
(remain -= 1) >= 0 && setTimeout(arguments.callee, 60 * 1000); //мин
})();
}
setTimer(userInput, {
0:function () {
alert( "СТАВАЙ");
}
});
}
}
}
var myVar = setInterval(function () { myTimer() }, 1000); ///ЧАСА
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}[/js]
HTML:
<div id="notifier"></div>
<input class="input" type="text" id="userTime" />
<input class="zadai" type="button" value="ЗАДАЙ" onclick="startTimer();" /><br />
<div class="min" id="countdown"></div><br />
<span class="hours" id="demo"></span>
Здравейте, една проста аларма , която ако и задам дадена стойност и в оставащото време задам друга или повече ми отброява всички. Разбира се това е без да презареждам, но как да ми отброява само последната зададена стойност.
 
[js]
if(typeof myVar != 'undefined'){
clearTimeout(myVar)
}
[/js]

Ако спреш всички други таймоут

Това действие трябва да го изпълниш преди това където сетваш таймера
 

Back
Горе