我有一个每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刷新,闪烁就会停止。我尝试在刷新功能中添加闪烁的代码,但没有用。
有什么想法吗?
答案 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);