-1
我已經經歷了很多stackoverflow帖子和其他網站找到解決這個問題,但沒有任何解決方案,我可以找到適合我的問題或只是直接沒有工作。爲什麼這個jQuery加載() - 命令重複?
我使用JavaScript和jQuery(以及一些Java用於後臺工作)在網站上構建頁面。該頁面包含一個包含數據的表(數據由Java處理),並且我希望該表每10秒刷新一次表。這樣可行。
但是現在我還想突出顯示所有已更改其中的值的單元格。爲此,就像我在代碼片段中看到的那樣,我只是簡單地將這些單元格的背景變成黑色。這也起作用。
我的問題是,顏色只改變了一秒之後,才改回標準的白色。使用控制檯並玩了一下,我發現表格實際上被重新加載了兩次,這對我來說意味着load-command會被執行兩次。
window.setInterval(function() {
if (frozen == false) {
$('table').load(document.URL + ' table');
var elem = document.getElementById("freezebtn"); //This is a button generated by Java Code
elem.style.background = getRandomColor();
var tab = document.getElementsByTagName('table').item(1);
var l = tab.rows.length;
for (var i = 0; i<l; i++) {
var tr = tab.rows[i];
var cll = tr.cells[1];
var check = tr.cells[0];
if(check.innerText === "getAsk") {
var valAsk = cll.innerText;
var ask = Number(valAsk);
if (ask != loadPreviousAsk()) {
console.log("TELEFONMAST!");
cll.style.backgroundColor = "#000000";
}
}
//Do this for every other Updateable Cell
...
}
cachePreviousValues(someValues,thatINeed,To,BeCached);
}
我的問題是,什麼是/可能導致加載命令的重複(或者爲什麼細胞不會保持黑色)? 有沒有更好的方法來實現我試圖做什麼? 我的代碼示例可以通過其他方式進行優化嗎?
這是因爲'$ .fn.load()'是異步,完成回調內部設置的邏輯:'$(「表」)的負載。 (document.URL +'table',function(){/ *你的邏輯關於加載數據在這裏* /);' –
我對js有點新...什麼是「完全回調」? – Reteras
我編輯以前的評論,但不要忘記檢查[DOC](http://api.jquery.com/load/) –