jQuery倒计时的问题

时间:2015-09-19 00:40:29

标签: jquery html

经过几个小时的搜索,我找到了解决问题的方法,但我仍有一个问题。我正在使用我网站上的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显示。有没有办法在重新加载页面后保留过期的文本?

2 个答案:

答案 0 :(得分:1)

Javascript在页面加载时运行,当您刷新页面时,它不知道它之前已经运行过。要在刷新时将其保留在00:00:00,您需要使用localstorage在客户端存储信息,或者向服务器发送请求以将信息保存到数据库中,然后重新加载从数据库中获取信息,如果已根据您的数据库命中00:00:00,则显示该信息。

答案 1 :(得分:1)

只需将以下JS添加到 each 循环中的现有代码中即可。

if ($(this).text() == '00:00:00') $(this).html('expired!');

Demo

finish.countdown事件仅在计时器启动后过期时触发,但您的计时器已在页面加载时过期,因此此事件不会触发。所以只需使用if条件检查文本并替换它。