【发布时间】:2017-11-08 16:55:27
【问题描述】:
以下代码在除 safari 之外的所有浏览器中都能正常运行。 safari 正在向我展示这个奇怪的 nand nanh nanm nans 而不是滴答作响的计时器。
$( document ).ready(function() {
var specialDate = "<?php echo trim(date('Y-m-d\TH:i:s',strtotime($time[1])));?>";
var countDownDate = new Date(specialDate).getTime();
var x = setInterval(function() {
var now = new Date().getTime();
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("buy_<?php echo $key; ?>").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
}, 1000);
///////////////// Buy Now End//////////////////
});
当我检查控制台时,它会在此行显示以下错误
Uncaught TypeError: Cannot set property 'innerHTML' of null
document.getElementById("buy_<?php echo $key; ?>").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
P.S 尽管除 safari 之外的所有浏览器都显示天时分秒倒计时正常,但如果我在任何浏览器中检查控制台,它也会显示与上述相同的错误。 这里有什么帮助吗?
【问题讨论】:
-
你确定你可以在 javascript 中使用 标签吗?对我来说似乎很奇怪:/
-
@ArnaudRochez 是的 如您所见,正在正确渲染我已经编辑了我的问题并附上了控制台的完整屏幕截图
-
我猜除了 safari 之外的所有浏览器都正确解释了它,因为它们“更智能”,但它仍然是使用 javascript 的不正确方式,不确定但我个人从未见过这种语法://
-
我看到你在使用 JQuery,你可能想试试 $("#buy_").html("...")
-
你真的有一个id为
buy_1的元素吗?这也不是 Safari 网络检查器,那是 Chrome 的?
标签: javascript datetime timer momentjs