Динамический таймер на ООП
Добрый день.Нужно создать таймер на ооп. Цель если таймер t завершился, начать отсчет таймера t2.
$(document).ready(function(){
function Timer(x){
this.time=x;
this.start=function(){
var varkyan=this.time-1;
var mvarkyan=60;
interval=setInterval(function(){
$("body").each(function(){
mvarkyan=mvarkyan-1;
if(mvarkyan==0){
varkyan-=1;
mvarkyan=60;
}
if(varkyan==0 && mvarkyan==1){
$(this).html(0+":"+0);
clearInterval(interval);
}
$(this).html(varkyan+":"+mvarkyan);
})
},100)
}
}
var t=new Timer(1);
var t2=new Timer(1);
t.start(t2);
})
Проблема в том что таймер остонавливает на t. Думаю все из-за
if(varkyan==0 && mvarkyan==1){
$(this).html(0+":"+0);
clearInterval(interval);
}
Не могу понять как изменить эту часть. На ООП перешел день и даже не знаю что гуглить чтоб получить ответ.Так что тапками не кидаться) |
Цитата:
|
Rise,
mvarkyan=милисекунды varkyan=секунды |
Цитата:
|
Rise,
Спасибо за ссылку,объязательно прочту. Но сейчас мне нужно закончить код, буду благодарен в двойне если поможете |
Alexandroppolus,
здесь start не метод а функция.Посмотрите на 4ой линии |
Цитата:
|
Timer in jquery
:write:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$.fn.Timer = function Timer(obj) {
var def = {
from: 5000,
duration: 5000,
to: 0,
callback: null
};
var opt = $.extend({}, def, obj);
return this.each(function(indx, el) {
$(el).queue(function() {
el.n = opt.from;
$(el).dequeue()
});
$(el).animate({
n: opt.to
}, {
easing: "linear",
duration: opt.duration,
step: function(now, fx) {
$(fx.elem).html(now | 0)
},
complete: opt.callback
})
})
};
$("#slider").Timer({
callback: function() {
$(this).css({
color: "red"
})
}
}).Timer({
duration: 2E4,
callback: function() {
$(this).text("End")
}
})
});
</script>
</head>
<body>
<div id="slider"></div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 12:21. |