Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2014, 15:45
Новичок на форуме
Отправить личное сообщение для ibutterfly777 Посмотреть профиль Найти все сообщения от ibutterfly777
 
Регистрация: 27.08.2014
Сообщений: 4

Помогите изменить скрипт таймера
Здравствуйте!
Подскажите пожалуйста. Мне нужно чтоб таймер отображал только минуты, секунды и миллисекунды и начинался с 17 минут 00 секунд 00 миллисекунд. Можно ли скрипт, который ниже подкорректировать так, чтоб получилось то, что мне нужно?) Или может есть у кого то ссылочки на подобный таймер. Буду очень благодарна за помощь!

(Использовала вот этот таймер http://frontcamp.com/2013/02/01/free.../#.VAmgDfl_unE )

function MUTimer(options)
{
this.config = { // defaults
month: 0,
day : '+1',
hour : 23,
minute: 17,
tz : 0,
lab : 'mutimer',
msg : 'Sorry, you are too late…',
url : '',
delay: 0
};

// customizing with incoming options
if(options.month) this.config.month = options.month;
if(options.day) this.config.day = options.day+'';
if(options.hour) this.config.hour = options.hour;
if(options.tz) this.config.tz = options.tz;
if(options.lab) this.config.lab = options.lab;
if(options.msg) this.config.msg = options.msg;
if(options.url) this.config.url = options.url;
if(options.delay) this.config.delay = options.delay;

// inner options
this.config.msEmu = 999;
this.config.msTimer = null;
this.config.timer = document.getElementById(this.config.lab);

// start the timer if the container exists
if(this.config.timer) {
je = jQuery('#'+this.config.lab);
if(!je.hasClass('mutimer')) je.addClass('mutimer');
if(!je.hasClass('default')) je.addClass('default');
tdiff = setTZCountDown(this.config); // get time distance
displayTZCountDown(tdiff, this.config); // run timer
millisecondsEmulator(this.config); // run milliseconds emulator
}

return this.config
}

function setTZCountDown(config)
{
var toDate = new Date();
if(config.month == '*') toDate.setMonth(toDate.getMonth() + 1);
else if(parseInt(config.month) > 0) {
if(parseInt(config.month) <= toDate.getMonth()) toDate.setYear(toDate.getYear() + 1);
toDate.setMonth(parseInt(config.month) - 1);
}
if(config.day.substr(0,1) == '+') {
var day1 = parseInt(config.day.substr(1));
toDate.setDate(toDate.getDate() + day1);
}
else toDate.setDate(config.day);

toDate.setHours(config.hour);
toDate.setMinutes(0 - (config.tz * 60));
toDate.setSeconds(0);
var fromDate = new Date();
fromDate.setMinutes(fromDate.getMinutes() + fromDate.getTimezoneOffset());
var diffDate = new Date(0);
diffDate.setMilliseconds(toDate - fromDate);
return Math.floor(diffDate.valueOf()/1000);
}

function displayTZCountDown(tdiff, config)
{
if(tdiff < 0) {
config.timer.innerHTML = '<div class="expired">'+config.msg+'</div>';
if(config.url != '') {
if(config.delay) {
setTimeout('document.location.href="' + config.url + '"', config.delay * 1000);
} else {
document.location.href = config.url;
}
}
} else {
var secs = tdiff % 60;
if (secs < 10) secs = '0' + secs;
var tdiff1 = (tdiff - secs) / 60;
var mins = tdiff1 % 60;
if(mins < 10) mins = '0' + mins;
tdiff1 = (tdiff1 - mins) / 60;
var hours = tdiff1 % 24;
var days = (tdiff1 - hours) / 24;

// reset milliseconds emulator
clearTimeout(config.msTimer);
config.msEmu = 999;
millisecondsEmulator(config);

var t = '';
t += '<div class="days">'+days+'<span>Day'+(days == 1 ? '' : 's')+'</span></div>';
t += '<div class="clock">';
t += ' <div class="hr">'+hours+'<span>hours</span></div>';
t += ' <div class="min">'+mins+'<span>minutes</span></div>';
t += ' <div class="sec">'+secs+'<span>seconds</span></div>';
t += ' <div class="ms" id="'+config.lab+'-ms">000<span>msec</span></div>';
t += '</div>';
config.timer.innerHTML = t;

setTimeout(function(){displayTZCountDown(tdiff-1,config)} ,999);
}
}

function millisecondsEmulator(config)
{
config.msEmu -= 29;
if(config.msEmu <= 0) config.msEmu = 999;

e = document.getElementById(config.lab+'-ms');
if(!e) return;

var ms = config.msEmu;
if(config.msEmu < 100) ms = '0' + ms;
else if(config.msEmu < 10) ms = '00' + ms;
e.innerHTML = ms + '<span></span>';

config.msTimer = setTimeout(function(){millisecondsEmulator(config) }, 33);
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Помогите составить скрипт для списка Новенькая Общие вопросы Javascript 9 10.09.2012 06:58
Скрипт условий if, помогите разобраться lyuis Общие вопросы Javascript 8 28.12.2010 21:21
Помогите создать скрипт замены картинок при наведении курсора. SantaS Я не знаю javascript 3 05.06.2009 12:59
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05