我正在尝试创建一个计时器,在有人在我的网站上下订单直到他们支付。如果他们在计时器用完时还没有付款,我所做的 delay_job 将回滚订单。
我不擅长 javascript,而且我尝试的方法根本不起作用。这是我的镜头(这是在 document.ready 函数中):
function countdown() {
setInterval(function(){myTimer()},1000);
};
function myTimer() {
var parentTr = $(this).parents("tr");
var status = $(parentTr).find(".js-status").attr('data-status');
if (status === 0) {
var timeLeft = 30000;
document.getElementById(".js-timer").html=timeLeft;
if (timeLeft === 0) {
alert("Time Out");
};
};
};
在我看来,我希望 JS 能够接受和使用这些行。但它不起作用。(并且当我任意说 var status = 0 时不起作用)。
<tr>
<th class="js-timer"></th>
<th class="js-status" data-status=<%= @order.status %> ></th>
...
</tr>
知道我做错了什么或如何做得更好吗?