我會直接去找它。通過指定時間間隔填充頁面的最有效方法?
的layout.html
<table>
<tr>
<td><div id="corner1"></div><div id="c11"></div><div id="c12"></div></td>
<td><div id="corner2"></div><div id="c21"></div><div id="c22"></div></td>
</tr>
<tr>
<td><div id="corner3"></div><div id="c31"></div><div id="c32"></div></td>
<td><div id="corner4"></div><div id="c41"></div><div id="c42"></div></td>
</tr>
</table>
<input type="hidden" value="12" name="tableid" />
main.js
populateID = setInterval(Populate, 1000);
function Populate() {
$.ajax({
url: 'jquery/populate.php',
data: 'tableid=' + $("#tableid").val(),
success: function(data) {
fillem(data);
}
});
}
function fillem(data) {
if(data.c1) {
$("#c11").html(data.c1);
$("#c12").html(data.filler);
}else{
$("#c11").html(data.filler);
}
if(data.c2) {
$("#c21").html(data.c2);
$("#c22").html(data.filler);
}else{
$("#c21").html(data.filler);
}
if(data.c3) {
$("#c31").html(data.c3);
$("#c32").html(data.filler);
}else{
$("#c31").html(data.filler);
}
if(data.c4) {
$("#c41").html(data.c4);
$("#c42").html(data.filler);
}else{
$("#c41").html(data.filler);
}
if(data.timer) {
$("#timer").html(data.timer);
}else{
$("#timer").html("");
}
if(data.corner) {
$("#corner" + data.corner).html("ACTIVE");
}
}
我敢肯定,這可以以更有效的方式來完成,我不關心,如果它涉及到改變DOM結構體。
例如,當它們中的任何一個都不能同時使用時,它總是有4個「角落」divs聽起來很糟糕。而且由於ajax響應會在每次請求時發生變化,有時一個div在填充新數據時會「快速閃爍」,這也很煩人。
感謝您的閱讀。
界定 「高效」。更快? CPU密集度更低?較少的代碼? – Matt 2012-04-12 18:27:00
更少的代碼,更好的文檔結構(即沒有不必要的輸出或空divs ..等):) – 2012-04-12 18:44:00