一段顯示倒計時的js代碼在安卓手機上正常顯示

但是在蘋果手機的微信自帶瀏覽器及safari中不能運行,求解

<script language="javascript" type="text/javascript">
function checkTime(i){
if(i<10)
{
i="0"+i;
}
return i;
}
var time = setInterval('showTime()',500);
function showTime(){
var startdate = new Date(document.getElementById("startTime").innerText); //自定義結束時間2021/01/08,10:13:55
var enddate = new Date(document.getElementById("endTime").innerHTML); //span標簽的資料不能用value()來獲取,而是innerText或innerHTML,另外Date函式要D大寫
var now = new Date();//獲取當前時間
var dateS = parseInt(startdate.getTime() - now.getTime())/1000; //得出的為秒數;
var dateE = parseInt(enddate.getTime() - now.getTime())/1000;
if (dateS > 0){
var day = parseInt(dateS/60/60/24);
var hour = parseInt(dateS/60/60%24);
var minute = parseInt(dateS/60%60);
var second = parseInt(dateS%60);
hour = checkTime(hour);
minute = checkTime(minute);
second = checkTime(second);
var leftTime = day+"天"+hour+"時"+minute+"分"+second+"秒";
document.getElementById('timeShow').innerHTML = "距離投票開始還有 " + leftTime;
document.getElementById('prevent').value=https://bbs.csdn.net/topics/1;
time;
}
else{
if (dateE <=0){
document.getElementById("txtshow").innerHTML="投票活動已結束";
clearInterval(time);
document.getElementById('prevent').value="https://bbs.csdn.net/topics/3";
}
var day = parseInt(dateE/60/60/24);
var hour = parseInt(dateE/60/60%24);
var minute = parseInt(dateE/60%60);
var second = parseInt(dateE%60);
hour = checkTime(hour);
minute = checkTime(minute);
second = checkTime(second);
var leftTime = day+"天"+hour+"時"+minute+"分"+second+"秒";
document.getElementById('timeShow').innerHTML = "距離投票結束還有 " + leftTime;
document.getElementById('prevent').value=https://bbs.csdn.net/topics/2;
time;
}
}
uj5u.com熱心網友回復:
document.getElementById("startTime").innerText 和 document.getElementById("endTime").innerHTML 獲取的日期字串格式是什么?因為不同瀏覽器中用new Date()自動決議日期字串所支持的日期格式可能不同。
最好是你自己寫代碼從日期字串中提取出年月日時分秒的數值再傳給new Date()
uj5u.com熱心網友回復:
safari瀏覽器的new Date(),日期格式要用yyyy/mm/dd,因為safari瀏覽器只能識別‘/’如果你的日期格式是 yyyy-mm-dd 就需要把"-"替換成"/"
var startdate = new Date(document.getElementById("startTime").innerText.replace(/\-/g,"/"));
var enddate = new Date(document.getElementById("endTime").innerHTML.replace(/\-/g,"/"));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/248811.html
標籤:JavaScript
