jquery闪烁文本和div重新加载

时间:2013-06-23 09:17:33

标签: jquery

我有一个每30秒刷新一次的div,如果它是新内容(由cookie检查),我也有闪烁的文本。

setInterval(function() {
    $('#reload').load('/page.php #reload'), function() {}
}, 30000);

// check if atis cookie exits
var Key = $("#key").data('key');
if ($.cookie('check_'+Key) == null) {
  $('.blink_'+Key).each(function() {
      var elem = $(this);
      setInterval(function() {
          if (elem.css('visibility') == 'hidden') {
              elem.css('visibility', 'visible');
          } else {
              elem.css('visibility', 'hidden');
          }    
      }, 500);
  });
}

眨眼效果很好......直到div刷新。一旦div刷新,闪烁就会停止。我尝试在刷新功能中添加闪烁的代码,但没有用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您提供的代码中存在一些语法错误。你的加载函数应该有两个参数,比如$('#reload').load('/page.php #reload', function(){}) 请尝试以下代码:

setInterval(function () {
    $('#reload').load('/page.php #reload', blinkText)
}, 30000);

function blinkText() {
    // check if atis cookie exits
    var Key = $("#key").data('key');
    if ($.cookie('check_' + Key) == null) {
        $('.blink_' + Key).each(function () {
            var elem = $(this);
            setInterval(function () {
                if (elem.css('visibility') == 'hidden') {
                    elem.css('visibility', 'visible');
                } else {
                    elem.css('visibility', 'hidden');
                }
            }, 500);
        });
    }
}

答案 1 :(得分:0)

尝试将这些代码放在函数中,如下所示:

function checkForNewContent() {
// check if atis cookie exits
var Key = $("#key").data('key');
if ($.cookie('check_'+Key) == null) {
  $('.blink_'+Key).each(function() {
      var elem = $(this);
      setInterval(function() {
          if (elem.css('visibility') == 'hidden') {
              elem.css('visibility', 'visible');
          } else {
              elem.css('visibility', 'hidden');
          }    
      }, 500);
  });
}
}

然后在第一行代码的函数回调中添加新添加的函数,使其看起来像这样..

setInterval(function() {
    $('#reload').load('/page.php #reload'), function() { checkForNewContent(); }
}, 30000);
相关问题