2011-08-14 93 views
0
var StreamFlash = ""; 

function Refresh() { 
    if (EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) { 
     if (StreamFlash == "") { 
      $('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash); 
      StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash; 
     } 
     if (StreamFlash != EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) { 
      console.log('Load'); 
      $('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash); 
      StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash; 
     } 
    } 
    setTimeout(Refresh, 1000); 
} 

函數Refresh();每秒觸發一次,這會檢查變量EVENTDATA(json)以查看閃存流對象中的更改,當流對象更改時,它必須加載一次,而不是每秒都加載一次。
我如何得到這個權利?JS事件每秒觸發一次,但在裏面做動作

回答

0

其實您的代碼應該工作:測試StreamFlash是否與EVENTDATA中的新數據不同應該使其僅在數據更改時才運行。

我簡化了一下代碼,但是如果它仍然不起作用,請嘗試在EVENTDATA中記錄StreamFlash數據以查看它是否確實發生了變化。

var StreamFlash = ""; 

function Refresh() { 
    var remoteStreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash; 
    if (remoteStreamFlash && StreamFlash != remoteStreamFlash) { 
     $('td.playercontainer').html(remoteStreamFlash); 
     StreamFlash = remoteStreamFlash; 
    } 
    setTimeout(Refresh, 1000); 
} 
相關問題