Нужна помощь - таймер обратного отчета часов с указанием дат начала и конца

замени
var current_date = new Date().getTime();
на
var current_date = new Date( 2013, 9, 17, 0, 0, 0 ).getTime();
 
ну перевод строки убрать надо
 
Код:
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
// когда начинаем
// формат Dane( гггг, м(0 - январь), д, ч, мин, сек )
var start_date = new Date( 2013, 10, 16, 0, 0, 0 ).getTime();
// до какого времени считаем
var target_date = new Date( 2013, 10, 31, 0, 0, 0 ).getTime();

var timer_container = $( '#timer_container' );

var counter = setInterval(function () {

  var days_remaining, hours_remaining, minutes_remaining;

  // текущее время
  var current_date = new Date( 2013, 10, 16, 0, 0, 0 ).getTime();

  // сколько секунд осталось
  var seconds_left = parseInt( (target_date - current_date) / 1000 );

  if( 0 >= seconds_left || start_date > current_date ){ // приехали

  clearInterval( counter );
  return;
  }


  hours_remaining = parseInt( seconds_left / ( 60 * 60 ) );
  seconds_left = seconds_left % ( 60 * 60 );

  minutes_remaining = parseInt( seconds_left / 60 );
  seconds_left = seconds_left % 60;

  timer_container.html( 'hours: ' + hours_remaining + ', minutes: ' + minutes_remaining + ', seconds: ' + seconds_left );

}, 1000 );
});//]]>

</script>
  <div id="timer_container"></div>


он тупо стоит
hours: 360, minutes: 0, seconds: 0

блин я допер 0 - январь! все четко пашет спасибО!!!! Тему можно закрывать. выложу модуль теперь таймер для категории в webasyst с управлением из под админки!
 
Последнее редактирование модератором:
а, о, сорри, не туда глянул о_0
Код:
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
  <script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
  <link rel="stylesheet" type="text/css" href="/css/result-light.css">
  <style type='text/css'>
  #timer_container{

}
  </style>


<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
// когда начинаем
// формат Dane( гггг, м(0 - январь), д, ч, мин, сек )
var start_date = new Date( 2013, 9, 17, 0, 0, 0 ).getTime();
// до какого времени считаем
var target_date = new Date( 2013, 9, 31, 0, 0, 0 ).getTime();

var timer_container = $( '#timer_container' );

var counter = setInterval(function () {

  var days_remaining, hours_remaining, minutes_remaining;

  // текущее время
  var current_date = new Date().getTime();

  // сколько секунд осталось
  var seconds_left = parseInt( (target_date - current_date) / 1000 );

  if( 0 >= seconds_left || start_date > current_date ){ // приехали

  clearInterval( counter );
  return;
  }

  days_remaining = parseInt( seconds_left / ( 60 * 60 * 24 ) );
  seconds_left = seconds_left % ( 60 * 60 * 24 );

  hours_remaining = parseInt( (seconds_left*24) / ( 60 * 60 ) );
  seconds_left = seconds_left % ( 60 * 60 );

  minutes_remaining = parseInt( seconds_left / 60 );
  seconds_left = seconds_left % 60;

  timer_container.html( hours: ' + hours_remaining + ', minutes: ' + minutes_remaining + ', seconds: ' + seconds_left );

}, 1000 );
});//]]>

</script>


</head>
<body>
  <div id="timer_container"></div>
</body>


</html>

блин я допер 0 - январь! все четко пашет спасибО!!!! Тему можно закрывать. выложу модуль теперь таймер для категории в webasyst с управлением из под админки!
// текущее время var current_date = new Date( 2013, 9, 17, 0, 0, 0 ).getTime();
верни это в первоначальное значение
 
Последнее редактирование модератором:
В своих проектах использую jQuery Countdown plugin (Для просмотра ссылки Войди или Зарегистрируйся)

Можно настраивать как разницу между датами, так и отсчет относительный
 
Я уже этот скрипт предлагал... Ему не подходит :)

Странно, однако

В доках есть про дату начала и конца + вывод формата таймера + обработчик событий после того, как таймер дойдет до 0

until: null, // new Date(year, mth - 1, day, hr, min, sec) - date/time to count down to
// or numeric for seconds offset, or string for unit offset(s:(
// 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
since: null, // new Date(year, mth - 1, day, hr, min, sec) - date/time to count up from
// or numeric for seconds offset, or string for unit offset(s:(
// 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
labels: ['Years', 'Months', 'Weeks', 'Days', 'Hours', 'Minutes', 'Seconds'],
// The expanded texts for the counters
labels1: ['Year', 'Month', 'Week', 'Day', 'Hour', 'Minute', 'Second'],
// The display texts for the counters if only one
compactLabels: ['y', 'm', 'w', 'd'], // The compact texts for the counters
layout: '', // Build your own layout for the countdown
onExpiry: null, // Callback when the countdown expires -
// receives no parameters and 'this' is the containing division
 
Помогите щее с одной задачей!

мой полный код:


Во общем таймер у меня останавливается на
До конца акции 0:0:1


/А можно как нить выводить к примеру акция скоро начнется если к примеру дата указана на будущее или прошла к примеру:
1. вариант:
var start_date = new Date( 2013, 10, 18, 00, 23, 0 ).getTime();
var target_date = new Date( 2013, 10, 30, 0, 0, 0 ).getTime();

выводить : Акция скоро начнется!


2. вариант - выводит щас: До конца акции 0:0:1
var start_date = new Date( 2013, 8, 18, 00, 23, 0 ).getTime();
var target_date = new Date( 2013, 8, 30, 0, 0, 0 ).getTime();

выводить: Акция закончена


Очень нужна ваша помощь!
 
HTML:
$(window).load(function(){

    // текущее время
    var current_date = new Date().getTime();

    // когда начинаем
    // формат Dane( гггг, м(0 - январь), д, ч, мин, сек )
    var start_date = new Date( 2013, 9, 27, 0, 0, 0 ).getTime();
    // до какого времени считаем
    var target_date = new Date( 2013, 9, 29, 0, 0, 0 ).getTime();

    var timer_container560 = $( '#timer_container560' );

    if( current_date < start_date ){

        timer_container560.html( 'Акция скоро начнется!' );
    }
    else if( current_date > target_date ){

        timer_container560.html( 'Акция закончена' );
    }
    else{

        var counter = setInterval(function () {

            var hours_remaining, minutes_remaining;

            // текущее время
            var current_date = new Date().getTime();

            // сколько секунд осталось
            var seconds_left = parseInt( (target_date - current_date) / 1000 );

            hours_remaining = parseInt( seconds_left / ( 60 * 60 ) );
            seconds_left = seconds_left % ( 60 * 60 );

            minutes_remaining = parseInt( seconds_left / 60 );
            seconds_left = seconds_left % 60;

            timer_container560.html ( 'До конца акции <b>' + hours_remaining + ':' + minutes_remaining + ':' + seconds_left + '</b> ' );

            if( 0 >= seconds_left || start_date > current_date ){ // приехали

                clearInterval( counter );
            }

        }, 1000 );
    }

});
 
Назад
Сверху