2011-12-02 25 views
0

我用这个代码来检索通知自动的setInterval根据结果

setInterval(function(){ 
$('.user_drop_down_num_notifications').load('some url'); 
$('.num_messages').load('some url'); 
$('.num_notifications').load('some url'); 
},3000);  

但是我希望做的是,如果有来自.load检索到的任何新号码()函数更新页面标题用(1)或任何数量的通知检索来更新标题。

就像Facebook - 当你有一个新的通知和Twitter时,有一个新的故事要阅读。

+0

在$('。num_messages')中加载请求的一部分发送了什么? –

+0

完全是,然后jquery会为它添加一个数字。 – Frank

+0

好的,'.num_notifications'中有什么?你是否发回所有通知? –

回答

0

load带有一个回调函数,您可以使用该回调函数来检查您的ajax调用的响应。然后可以使用attr函数设置文档的标题。

$('.num_messages').load('some url', 
    function(dataReturned) { 
     if (dataReturned !== "") 
      $(document).attr("title", "(" + dataReturned + ")"); 
    }); 
2

这将取决于从什么.load返回年代,但假设它只是一个简单的数字,尝试这样的事情:

var num = 0; 
setInterval(function() { 
    $.get('some url', function(data) { 
     if (data != num) { 
      num = data; 
      document.title = "Your Site Title (" + num + ")"; 
     } 
    }); 
}, 3000); 

你仍然要采取了这样的情况,其中num是0,他们在浏览页面时打开消息。

+0

谢谢,亚当。我将它转换为$ .get,应该根据我对这个问题的假设给予支持。 – feedbackloop

+0

这将工作,但它不会像最初一样将结果实际加载到div中。这可能是正确的,运营商必须澄清。当我在3.5小时内得到新的选票时,我会给你+1你 –

+1

你的答案保持旧的功能与新 - 可能是OP的意图。现在就把它放在风中! – feedbackloop