经过几个小时的搜索,我找到了解决问题的方法,但我仍有一个问题。我正在使用我网站上的http://hilios.github.io/jQuery.countdown/进行倒计时。
这就是我正在使用的: jsfiddle example
$('[data-countdown]').each(function() {
var $this = $(this), finalDate = $(this).data('countdown');
$this.countdown(finalDate, function(event) {
$this.html(event.strftime('%H:%M:%S'));
})
.on('finish.countdown', function(event) {
$(this).html('expired!');
});
});
效果很好,它显示了我喜欢的过期txt,但是如果我重新加载页面,则过期消失,00:00:00显示。有没有办法在重新加载页面后保留过期的文本?
答案 0 :(得分:1)
Javascript在页面加载时运行,当您刷新页面时,它不知道它之前已经运行过。要在刷新时将其保留在00:00:00,您需要使用localstorage在客户端存储信息,或者向服务器发送请求以将信息保存到数据库中,然后重新加载从数据库中获取信息,如果已根据您的数据库命中00:00:00,则显示该信息。
答案 1 :(得分:1)
只需将以下JS添加到 each
循环中的现有代码中即可。
if ($(this).text() == '00:00:00') $(this).html('expired!');
此finish.countdown
事件仅在计时器启动后过期时触发,但您的计时器已在页面加载时过期,因此此事件不会触发。所以只需使用if
条件检查文本并替换它。