Динамический таймер на ООП
Добрый день.Нужно создать таймер на ооп. Цель если таймер 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, время: 08:23. |