02.12.2018, 04:55
|
Новичок на форуме
|
|
Регистрация: 02.12.2018
Сообщений: 3
|
|
Таймер до нового года
Братцы я не спал уже 2 суток, но это уже выше моих сил. Эта пакость не хочет работать. Подскажите где мне поправить данные чтоб шел отсчет до нового года, и время отсчитывало исходя из времени региона или компьютерного времени человека. Пожалуйста помогите
(function($) {
$.fn.ccountdown = function(_yr, _m, _d, _t) {
var $this = this;
var _montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
var _today = new Date();
// calling function first time so that it wll setup remaining time
var _changeTime = function(now) {
var _today = new Date();
var _todayy = _today.getYear();
if (_todayy < 1000)
_todayy += 1900;
var _todaym = _today.getMonth();
var _todayd = _today.getDate();
var _todayh = _today.getHours();
var _todaymin = _today.getMinutes();
var _todaysec = _today.getSeconds();
_todaysec = "0" + _todaysec;
_todaysec = _todaysec.substr(_todaysec.length - 2);
var _todaystring = _montharray[_todaym] + " " + _todayd + ", " + _todayy + " " + _todayh + ":" + _todaymin + ":" + _todaysec;
var _futurestring = _montharray[_m - 1] + " " + _d + ", " + _yr + " " + _t;
/* calculation of remaining days, hrs, min, and secs */
_dd = Date.parse(_futurestring) - Date.parse(_todaystring);
_dday = Math.floor(_dd / (60 * 60 * 1000 * 24) * 1);
_dhour = Math.floor((_dd % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1);
_dmin = Math.floor(((_dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) / (60 * 1000) * 1);
_dsec = Math.floor((((_dd % (60 * 60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000)) / 1000 * 1);
var el = $($this);
var $ss = el.find(".second"), $mm = el.find(".minute"), $hh = el.find(".hour"), $dd = el.find(".days");
$ss.val(_dsec).trigger("change");
$mm.val(_dmin).trigger("change");
$hh.val(_dhour).trigger("change");
$dd.val(_dday).trigger("change");
};
_changeTime();
setInterval(_changeTime, 1000);
};
})(jQuery);
//hour = (hour < 10) ? "0"+hour : hour;
Последний раз редактировалось niskapones, 02.12.2018 в 08:58.
|
|
02.12.2018, 08:53
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
niskapones,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
02.12.2018, 08:56
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
|
|
02.12.2018, 09:00
|
Новичок на форуме
|
|
Регистрация: 02.12.2018
Сообщений: 3
|
|
Спасибо но мне бы хотелось реализовать это не средствами Html а именно скриптом
|
|
02.12.2018, 09:00
|
Новичок на форуме
|
|
Регистрация: 02.12.2018
Сообщений: 3
|
|
Сообщение от рони
|
niskapones,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
Отредактировал, извините я новичок на форуме
|
|
02.12.2018, 09:20
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от niskapones
|
мне бы хотелось реализовать это не средствами Html а именно скриптом
|
можно перевод?
что не так в примере по ссылке?
|
|
02.12.2018, 09:24
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
niskapones,
<!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.ccountdown = function(_yr, _m, _d, _t) {
var $this = this;
var _montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
var _today = new Date();
// calling function first time so that it wll setup remaining time
var _changeTime = function(now) {
var _today = new Date();
var _todayy = _today.getYear();
if (_todayy < 1000)
_todayy += 1900;
var _todaym = _today.getMonth();
var _todayd = _today.getDate();
var _todayh = _today.getHours();
var _todaymin = _today.getMinutes();
var _todaysec = _today.getSeconds();
_todaysec = "0" + _todaysec;
_todaysec = _todaysec.substr(_todaysec.length - 2);
var _todaystring = _montharray[_todaym] + " " + _todayd + ", " + _todayy + " " + _todayh + ":" + _todaymin + ":" + _todaysec;
var _futurestring = _montharray[_m - 1] + " " + _d + ", " + _yr + " " + _t;
/* calculation of remaining days, hrs, min, and secs */
_dd = Date.parse(_futurestring) - Date.parse(_todaystring);
_dday = Math.floor(_dd / (60 * 60 * 1000 * 24) * 1);
_dhour = Math.floor((_dd % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1);
_dmin = Math.floor(((_dd % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) / (60 * 1000) * 1);
_dsec = Math.floor((((_dd % (60 * 60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000)) / 1000 * 1);
var el = $($this);
var $ss = el.find(".second"), $mm = el.find(".minute"), $hh = el.find(".hour"), $dd = el.find(".days");
$ss.val(_dsec).trigger("change");
$mm.val(_dmin).trigger("change");
$hh.val(_dhour).trigger("change");
$dd.val(_dday).trigger("change");
};
_changeTime();
setInterval(_changeTime, 1000);
};
})(jQuery);
$(function() {
$(".timer").ccountdown(2019,1,1,'0:0')
});
</script>
</head>
<body>
<div class="timer">
<input class="days">
<input class="hour">
<input class="minute">
<input class="second">
</div>
</body>
</html>
Последний раз редактировалось рони, 02.12.2018 в 09:27.
|
|
|
|