Таймер iphone в javascript дает мне NaN?

извините за мой английский, я стараюсь изо всех сил: D

у меня проблема с таймером на устройстве iphone

это дает мне NaN

поэтому, когда я открываю на android, его работа, но на сафари или ipod не работает

как я могу это исправить ??

извините за мой английский, я стараюсь изо всех сил: D

у меня проблема с таймером на устройстве iphone

это дает мне NaN

поэтому, когда я открываю на android, его работа, но на сафари или ipod не работает

как я могу это исправить ??

//timer
function updater(d, h, m, s , baseTime) {
  // День сброса - 27 сентября 2015 года (и далее каждые три дня)  
  function update() {
    var cur = new Date();
    // сколько осталось миллисекунд
    var diff = baseTime - cur;
    if (cur > baseTime){

   }else{
    // сколько миллисекунд до конца секунды
    var millis = diff % 1000;

    diff = Math.floor(diff/1000);
    // сколько секунд до конца минуты
    var sec = diff % 60;
    if (sec < 10) sec = "0"+sec;
    diff = Math.floor(diff/60);
    // сколько минут до конца часа
    var min = diff % 60;
    if (min < 10) min = "0"+min;
    diff = Math.floor(diff/60);
    // сколько часов до конца дня
    var hours = diff % 24;
    var days = Math.floor(diff / 24);
    
    if (days != 0) d.text(days + " :");
    if ( hours != 0) h.text(hours + " :");
    m.text(min + " :");
    s.text(sec);
    
    
    // следующий раз вызываем себя, когда закончится текущая секунда
    setTimeout(update, millis);
  }
}
setTimeout(update, 0);  
}

        var d = $("#days1");
        $('.block_timer').each(function () {
          var d1 = $(this).children(".day").attr("id");
          d = $("#"+d1);
          var h1 = $(this).children(".hour").attr("id");
          h = $("#"+h1);
          var m1 = $(this).children(".minute").attr("id");
          m = $("#"+m1);
          var s1 =$(this).children(".second").attr("id");
          s = $("#"+s1);
          var ddd = $(this).children(".timer_value").val();
          updater(d,h,m,s,new Date(ddd));
        });

//timer
function updater(d, h, m, s , baseTime) {
  // День сброса - 27 сентября 2015 года (и далее каждые три дня)  
  function update() {
    var cur = new Date();
    // сколько осталось миллисекунд
    var diff = baseTime - cur;
    if (cur > baseTime){

   }else{
    // сколько миллисекунд до конца секунды
    var millis = diff % 1000;

    diff = Math.floor(diff/1000);
    // сколько секунд до конца минуты
    var sec = diff % 60;
    if (sec < 10) sec = "0"+sec;
    diff = Math.floor(diff/60);
    // сколько минут до конца часа
    var min = diff % 60;
    if (min < 10) min = "0"+min;
    diff = Math.floor(diff/60);
    // сколько часов до конца дня
    var hours = diff % 24;
    var days = Math.floor(diff / 24);
    
    if (days != 0) d.text(days + " :");
    if ( hours != 0) h.text(hours + " :");
    m.text(min + " :");
    s.text(sec);
    
    
    // следующий раз вызываем себя, когда закончится текущая секунда
    setTimeout(update, millis);
  }
}
setTimeout(update, 0);  
}

        var d = $("#days1");
        $('.block_timer').each(function () {
          var d1 = $(this).children(".day").attr("id");
          d = $("#"+d1);
          var h1 = $(this).children(".hour").attr("id");
          h = $("#"+h1);
          var m1 = $(this).children(".minute").attr("id");
          m = $("#"+m1);
          var s1 =$(this).children(".second").attr("id");
          s = $("#"+s1);
          var ddd = $(this).children(".timer_value").val();
          updater(d,h,m,s,new Date(ddd));
        });
<table class = "airdrop_rating"><thead><tr><td></td><td class = "airdrop_rating_name">НАЗВАНИЕ</td><td>Стартовая цена</td><td>Время ICO</td><td>Цель</td><td>Рейтинг</td></tr></thead><tbody><tr><td class = "airdrop_num">1.</td><td class = "airdrop_logo">
<img width = "25" height = "25" src = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?resize=25%2C25&amp;ssl=1" class = "attachment-25_25 size-25_25 jetpack-lazy-image--handled" alt = "" data-attachment-id = "154" data-permalink = "https://bitinvestnews.com/ico_siocoin-1c2d51d44b9329ecf1ef171be3b22505/" data-orig-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?fit=125%2C125&amp;ssl=1" data-orig-size = "125,125" data-comments-opened = "1" data-image-meta = "{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title = "ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505" data-image-description = "" data-medium-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?fit=125%2C125&amp;ssl=1" data-large-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?fit=125%2C125&amp;ssl=1" data-lazy-loaded = "1" srcset = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?w=125&amp;ssl=1 125w, https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?resize=25%2C25&amp;ssl=1 25w, https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/ico_siocoin.1c2d51d44b9329ecf1ef171be3b22505.jpg?resize=120%2C120&amp;ssl=1 120w" sizes = "(max-width: 25px) 100vw, 25px">              <a class = "airdrop_href" href = "https://bitinvestnews.com/ico/sio-coin/">SiO Coin</a></td><td>USD 1 000 000</td><td><div class = "block_timer">
осталось:<br>
<input type = "hidden" class = "timer_value" value = "2018,9,30">
<span class = "day" id = "days100">25 :</span>
<span class = "hour" id = "hours100">11 :</span>
<span class = "minute" id = "minutes100">21 :</span>
<span class = "second" id = "seconds100">50</span></div></td><td>$1,000,000</td><td class = "rating_scale" style = "background-color:#78e465"><span>53/100</span></td><td></td></tr><tr><td class = "airdrop_num">2.</td><td class = "airdrop_logo">
<img width = "25" height = "25" src = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?resize=25%2C25&amp;ssl=1" class = "attachment-25_25 size-25_25 jetpack-lazy-image--handled" alt = "" data-attachment-id = "171" data-permalink = "https://bitinvestnews.com/wt/" data-orig-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?fit=125%2C125&amp;ssl=1" data-orig-size = "125,125" data-comments-opened = "1" data-image-meta = "{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title = "wt" data-image-description = "" data-medium-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?fit=125%2C125&amp;ssl=1" data-large-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?fit=125%2C125&amp;ssl=1" data-lazy-loaded = "1" srcset = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?w=125&amp;ssl=1 125w, https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?resize=25%2C25&amp;ssl=1 25w, https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/wt.png?resize=120%2C120&amp;ssl=1 120w" sizes = "(max-width: 25px) 100vw, 25px">              <a class = "airdrop_href" href = "https://bitinvestnews.com/ico/exmo-coin/">Exmo Coin</a></td><td>USD 1 000 000</td><td><div class = "block_timer">
<input type = "hidden" class = "timer_value" value = "2018,6,26">
<span class = "day" id = "days93"></span>
<span class = "hour" id = "hours93"></span>
<span class = "minute" id = "minutes93"></span>
<span class = "second" id = "seconds93"></span></div></td><td>$3,000,000</td><td class = "rating_scale" style = "background-color:#fff0b6"><span>50/100</span></td><td></td></tr><tr><td class = "airdrop_num">3.</td><td class = "airdrop_logo">
<img width = "25" height = "25" src = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?resize=25%2C25&amp;ssl=1" class = "attachment-25_25 size-25_25 jetpack-lazy-image--handled" alt = "Satisfaction Token logo" data-attachment-id = "974" data-permalink = "https://bitinvestnews.com/satisfaction-token/" data-orig-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?fit=125%2C125&amp;ssl=1" data-orig-size = "125,125" data-comments-opened = "0" data-image-meta = "{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title = "Satisfaction Token" data-image-description = "" data-medium-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?fit=125%2C125&amp;ssl=1" data-large-file = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?fit=125%2C125&amp;ssl=1" data-lazy-loaded = "1" srcset = "https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?w=125&amp;ssl=1 125w, https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?resize=25%2C25&amp;ssl=1 25w, https://i2.wp.com/bitinvestnews.com/wp-content/uploads/2018/08/satisfaction-token.png?resize=120%2C120&amp;ssl=1 120w" sizes = "(max-width: 25px) 100vw, 25px">              <a class = "airdrop_href" href = "https://bitinvestnews.com/ico/exmo-coin-2/">Satisfaction Token</a></td><td>USD 1 000 000</td><td><div class = "block_timer">
начало через:<br>
<input type = "hidden" class = "timer_value" value = "2018,6,23">
<span class = "day" id = "days95"></span>
<span class = "hour" id = "hours95"></span>
<span class = "minute" id = "minutes95"></span>
<span class = "second" id = "seconds95"></span></div></td><td>$3,000,000</td><td class = "rating_scale" style = "background-color:#fff0b6"><span>47/100</span></td><td></td></tr><tr><td class = "airdrop_num">4.</td><td class = "airdrop_logo">
<img width = "25" height = "25" src = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?resize=25%2C25&amp;ssl=1" class = "attachment-25_25 size-25_25 jetpack-lazy-image--handled" alt = "" data-attachment-id = "155" data-permalink = "https://bitinvestnews.com/kep-eb573c0084a8fcabc33e874305968b37/" data-orig-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?fit=125%2C125&amp;ssl=1" data-orig-size = "125,125" data-comments-opened = "1" data-image-meta = "{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title = "kep.eb573c0084a8fcabc33e874305968b37" data-image-description = "" data-medium-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?fit=125%2C125&amp;ssl=1" data-large-file = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?fit=125%2C125&amp;ssl=1" data-lazy-loaded = "1" srcset = "https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?w=125&amp;ssl=1 125w, https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?resize=25%2C25&amp;ssl=1 25w, https://i1.wp.com/bitinvestnews.com/wp-content/uploads/2018/06/kep.eb573c0084a8fcabc33e874305968b37.png?resize=120%2C120&amp;ssl=1 120w" sizes = "(max-width: 25px) 100vw, 25px">              <a class = "airdrop_href" href = "https://bitinvestnews.com/ico/kepler/">Kepler</a></td><td>USD 1 000 000</td><td><div class = "block_timer">
<input type = "hidden" class = "timer_value" value = "2018,6,22">
<span class = "day" id = "days98"></span>
<span class = "hour" id = "hours98"></span>
<span class = "minute" id = "minutes98"></span>
<span class = "second" id = "seconds98"></span></div></td><td>$1,000,000</td><td class = "rating_scale" style = "background-color:#ff8f8f"><span>22/100</span></td><td></td></tr></tbody></table>

какая строка выдает ошибку?

brk 04.09.2018 11:58

Возможно, это просто ошибка в фрагменте, который у вас здесь, но это ошибка, которую показывает фрагмент - "" message ":" Uncaught ReferenceError: $ is not defined "," Это просто jquery не загружается, но используется в этой строке - $ ('. block_timer'). each (function () {... посмотрите, есть ли это в вашем фактическом коде

gavgrif 04.09.2018 11:59

@LucaKiebel - отсюда и сообщение, в котором говорится - "это может быть фрагмент, который у вас есть здесь" .... "проверьте свой реальный код для этой проблемы" .....

gavgrif 04.09.2018 12:02

Каков пример значения ддд? Скорее всего, new Date(ddd) не анализируется, как вы ожидали, поэтому разрешается неверная дата, значение времени которой равно NaN. Рассмотрите возможность ручного синтаксического анализа значения с помощью вашей собственной функции или библиотеки.

RobG 04.09.2018 12:03
prnt.sc/kqep53 благодарит ребят за помощь своим скриншотом
ham 04.09.2018 12:07

@brk prnt.sc/kqep53 мой сайт на wp

ham 04.09.2018 12:11

@ L.Khisha. Не могли бы вы предоставить соответствующий HTML, чтобы мы могли получить готовый для выполнения фрагмент кода и попытаться воспроизвести проблему?

AmmoPT 04.09.2018 12:28

@AmmoPT у меня есть отредактировать сообщение и добавить блок HTML

ham 04.09.2018 12:39

Это рабочий пример вашего кода. Я вижу таймер и нет NaN, как на картинке, которую вы предоставили.

AmmoPT 04.09.2018 12:43

@AmmoPT thanx, но он работает на android и pc, но на сафари и iphone дает NaN

ham 04.09.2018 12:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
10
354
1

Ответы 1

Ваша проблема здесь:

var ddd = $(this).children(".timer_value").val();
updater(d,h,m,s,new Date(ddd));

Отсюда возвращается значение ддд:

<input type = "hidden" class = "timer_value" value = "2018,9,30">

Итак, что у вас есть:

new Date('2018,9,30') 

что приводит к недопустимой дате со значением времени NaN в некоторых реализациях. См. Почему Date.parse дает неверные результаты?

Вы можете исправить это с помощью простой функции синтаксического анализа, например:

function parseIt(s) {
  var b = s.split(/\D/);
  return new Date(b[0], b[1]-1, b[2]);
}

и:

updater(d,h,m,s, parseIt(ddd));

Этот ответ будет скоро удален ...

Большое спасибо за ваше время, не могли бы вы дать мне подробную информацию, где разместить код или заменить его?

ham 04.09.2018 14:10

Думаю, я это сделал. Поместите функцию синтаксического анализа в любое место (подходит верхняя часть сценария), затем замените вызов апдейтер, как указано.

RobG 04.09.2018 15:16

Я добавляю код и заменяю программу обновления, но все еще не думаю.

ham 04.09.2018 15:55

Другие вопросы по теме