2013-06-23 31 views
0

我有一個div,每30秒刷新一次,如果它是新內容(由cookie檢查),我也有閃爍的文本。jquery閃爍文本和div重新加載

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

你爲什麼不將你的閃爍代碼成功處理您的負載功能? –

+0

我不認爲有負載函數的成功處理...如果我沒有錯。 – Dutchcoffee

+1

.load函數的第二個參數是成功處理程序。你保留空的那個 –

回答

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); 
     }); 
    } 
} 
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); 
+0

不幸的是,它仍然停止閃爍。 – Dutchcoffee