Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2015, 16:00   #1
verdant
Новичок
Джуниор
 
Регистрация: 10.07.2015
Сообщений: 3
По умолчанию Как соединить два кода на таймер

Помогите пожалуйста соединить два кода чтобы работал таймер обратного отсчёта.

Первый код:

Код HTML:
<input type="button" value="mail" onclick="Pusk(),Sl()" >
<html>
<style>
  .st{background-color:blue; 
      color:white;}
  .sp{background-color:red; 
      color:white;}
</style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#00000">
<tr><td><div class="st" id="tm">00:00:00</div></td></tr></table> 
Вот второй самый основной не получается запустить.

Код:
var Timer = function(element, hours, minutes, sec, callback){
    var me = this;
    this.hours = hours;
    this.minutes = minutes;
    this.sec = sec;
    this.element = element;
    this.interval = null;
    this.callback = callback;
     
    this.reduce = function() {
        if(me.hours + me.minutes + me.sec <= 0) {
            me.stop();
            return;
        }
        me.sec-=1;
        if(me.sec<0) me.sec=00,me.minutes-=1;
        if(me.minutes<0) me.minutes=00,h-=1; 
        if(me.hours<0) me.hours=00 ;
        if(me.hours + me.minutes + me.sec==0)me.callback();
        me.sec = me.sec+"";
        me.minutes = me.minutes+"";
        me.hours = me.hours+""; 
        if (me.sec.length<2) me.sec = "0"+me.sec;
        if (me.minutes.length<2) me.minutes = "0"+me.minutes;
        if (me.hours.length<2) me.hours = "0"+me.hours;
        me.element.innerHTML=me.hours+":"+me.minutes+":"+me.sec; 
    }
     
    this.start = function(){
        me.interval = setInterval(me.reduce, 1000);
        me.element.className="sp"
    }
    this.stop = function(){
        clearInterval(me.interval);
        me.element.className="st"
    }
     
}
 
 
var timer = new Timer(document.getElementById('yourElementId'), 1, 20, 20, function(){window.open('https://mail.ru/','_blank');});
timer.start();

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 10.07.2015 в 16:09.
verdant вне форума Ответить с цитированием
Старый 10.07.2015, 16:15   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Как с языком потенциального врага у тебя? Не смущает надпись в коде
Цитата:
yourElementId
?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 10.07.2015, 16:17   #3
verdant
Новичок
Джуниор
 
Регистрация: 10.07.2015
Сообщений: 3
По умолчанию

Вы знаете я не очень сильно и разбираюсь в этом. Если знаете как соединить и запустить этот таймер помогите пожалуйста.
verdant вне форума Ответить с цитированием
Старый 10.07.2015, 16:31   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
var timer = new Timer(document.getElementById('tm'), 1, 20, 20, function(){window.open('https://mail.ru/','_blank');});
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 10.07.2015, 16:37   #5
verdant
Новичок
Джуниор
 
Регистрация: 10.07.2015
Сообщений: 3
По умолчанию

Я запустил код в сборе но у меня сразу пошёл отсчёт времени. Изначально показывать должно просто нули затем я нажимаю на ссылку происходит переход на другой сайт одновременно срабатывает таймер. У меня сил больше нет с ним бороться.

Вот что получилось: две ошибки
1. При остановке счётчика остаётся одна единица 00:00:01
2. При втором запуске не запускается таймер.
В чём проблема помогите разобраться?


Код HTML:
<html>
<head>
    <title>111</title>
    <meta charset="utf-8">
    </head>
    <body>
     
<style>
  .st{background-color:blue; 
      color:white;}
  .sp{background-color:red; 
      color:white;}
</style>
</head>
<body>
    
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#00000">
<tr><td><div class="st" id="tm">00:00:00</div></td></tr></table> 
<input type="button" value="mail" onclick="timer.start(),Sl()" >


Код:
<script>      
 
 var Timer = function(element, hours, minutes, sec){
    var me = this;
    this.hours = hours;
    this.minutes = minutes;
    this.sec = sec;
    this.element = element;
    this.interval = null;
    
     
    this.reduce = function() {
        if(me.hours + me.minutes + me.sec <= 0) {
            me.stop();
            return;
        }
        me.sec-=1;
        if(me.sec<0) me.sec=00,me.minutes-=1;
        if(me.minutes<0) me.minutes=00,h-=1; 
        if(me.hours<0) me.hours=00 ;
        if(me.hours + me.minutes + me.sec==0)me.callback();
        me.sec = me.sec+"";
        me.minutes = me.minutes+"";
        me.hours = me.hours+""; 
        if (me.sec.length<2) me.sec = "0"+me.sec;
        if (me.minutes.length<2) me.minutes = "0"+me.minutes;
        if (me.hours.length<2) me.hours = "0"+me.hours;
        me.element.innerHTML=me.hours+":"+me.minutes+":"+me.sec; 
    }
     
    this.start = function(){
        me.interval = setInterval(me.reduce, 1000);
        me.element.className="sp"
    }
    this.stop = function(){
        clearInterval(me.interval);
        me.element.className="st"
    }
     
}
function Sl()
    {window.open('https://mail.ru/','_blank');}                        
var timer = new Timer(document.getElementById('tm'), 00, 00, 10);
 </script>          
   
    </body>
</html>
Всем спасибо таймер сделан. Ещё один вопрос как сделать чтобы он не сбивался при перезагрузки страницы?

Последний раз редактировалось Stilet; 10.07.2015 в 19:25.
verdant вне форума Ответить с цитированием
Старый 11.07.2015, 02:19   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Ещё один вопрос как сделать чтобы он не сбивался при перезагрузки страницы?
А это уже либо сам вкуривай, либо во фриланс...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как соединить два файла в один, созданные в блокноте разных форматов.(script) Programmist228 Помощь студентам 4 31.03.2015 16:31
Outlook!Как эти два скрипта соединить?вроди легко но я jscript не знаю. rustam009 JavaScript, Ajax 2 25.07.2013 06:56
Нужно соединить два кода в один cho_nado Помощь студентам 1 12.02.2013 19:34
Соединить два списка в третий Иванов_ДМ Microsoft Office Excel 11 20.08.2009 08:21
соединить два 3d объекта NewXakep Помощь студентам 1 11.07.2009 11:34