Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.10.2017, 11:53
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

Динамический таймер на ООП
Добрый день.Нужно создать таймер на ооп. Цель если таймер 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);
					}

Не могу понять как изменить эту часть. На ООП перешел день и даже не знаю что гуглить чтоб получить ответ.Так что тапками не кидаться)
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2017, 13:48
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

Сообщение от Rise Посмотреть сообщение
Vardges,
непонятны имена некоторых переменных
может быть, но это никакой роли не играет)
Ответить с цитированием
  #3 (permalink)  
Старый 02.10.2017, 13:58
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

Rise,
mvarkyan=милисекунды
varkyan=секунды
Ответить с цитированием
  #4 (permalink)  
Старый 02.10.2017, 14:51
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Vardges
t.start(t2);
метод start объявлен без параметров. Сдается мне, где-то тут есть косяк.
Ответить с цитированием
  #5 (permalink)  
Старый 02.10.2017, 14:52
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

Rise,
Спасибо за ссылку,объязательно прочту. Но сейчас мне нужно закончить код, буду благодарен в двойне если поможете
Ответить с цитированием
  #6 (permalink)  
Старый 02.10.2017, 14:58
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

Alexandroppolus,
здесь start не метод а функция.Посмотрите на 4ой линии
Ответить с цитированием
  #7 (permalink)  
Старый 02.10.2017, 15:04
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Vardges
здесь start не метод а функция.
функция так функция. Но всё равно без параметров.
Ответить с цитированием
  #8 (permalink)  
Старый 02.10.2017, 15:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Timer in jquery

<!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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индивидуальный таймер обратного отсчета времени с редиректом pozitiv4ek Работа 2 11.12.2016 13:42
Таймер на вкладках в Хроме. YNA Opera, Safari и др. 1 28.01.2016 02:43
помогите чтобы таймер тикал Руслан904322 Общие вопросы Javascript 1 22.02.2015 12:43
Обновляемый таймер на javascript smillyhamster Общие вопросы Javascript 1 31.12.2013 10:30
Книжко по ООП krasovsky Учебные материалы 2 03.04.2013 12:50