iPhone/iPadのみJavaScriptが動作しない原因について
下記URLのカウントダウンをサイトに貼りました。
https://mo2nabe.com/js-countdown-timer/
WindowsやAndroid系端末では問題なく動作するのですが、iPhoneやiPadだと「00時間00分NaN秒」と表示されたまま止まり動作しません。
原因等わかりますでしょうか?
【追記】
・iPad Air ソフトウエアバージョン12.4.7
・iPad(第6世代) システムバージョン13.5.1
・iPhone 6s システムバージョン13.5.1
で動作しないことを確認しています。
発生している問題・エラーメッセージ
00時間00分NaN秒
該当のソースコード
html
1<p>残り<span class="countdown" data-date="2019-12-03 04:56"></span></p> 2<p>残り<span class="countdown" data-date="2020-09-08 12:30"></span></p>
JavaScript
1<script> 2window.addEventListener('load',()=>{ 3 Countdown(); 4}) 5 6const Countdown = function(){ 7 const cd_areas = document.getElementsByClassName('countdown'); 8 [...cd_areas].forEach(cd_area=>{ 9 const target_unix = new Date(cd_area.dataset.date)/1000; 10 setInterval(()=>{ 11 const now_unix = Math.floor(new Date()/1000); 12 let sec = target_unix-now_unix; 13 let cd_text = ''; 14 if(sec>=86400){ 15 cd_text += Math.floor(sec/86400)+'日'; 16 sec = sec%86400; 17 } 18 if(sec>=3600){ 19 cd_text += td(Math.floor(sec/3600))+'時間'; 20 sec = sec%3600; 21 }else{ 22 cd_text += '00時間'; 23 } 24 if(sec>=60){ 25 cd_text += td(Math.floor(sec/60))+'分'; 26 sec = sec%60; 27 }else{ 28 cd_text += '00分'; 29 } 30 cd_text += td(sec)+'秒'; 31 cd_area.textContent = cd_text; 32 },1000); 33 }); 34 35 function td(x){ 36 if(x<10){ 37 return '0'+x; 38 }else{ 39 return x; 40 } 41 } 42} 43</script>
回答1件
あなたの回答
tips
プレビュー