【发布时间】:2012-03-27 04:21:14
【问题描述】:
我有一个 div 容器,它通过一个 javascript 函数每 3 秒修改一次它的内容。该函数最初由body标签的onload事件调用。
function showNow(){
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET", "tab.php", true);
xmlhttp.send();
setTimeout(showNow, 3000);
}
内容每 3 秒刷新一次。唯一的问题是滚动位置被重置,因此我的页面跳回到开头。这极大地影响了可用性。
谁能提出解决方案?
【问题讨论】:
-
我不太确定何时重置卷轴。无论如何我可以检查这个吗?
-
我找到了罪魁祸首。问题是当代码被交换时, div 标签中没有内容。因此,卷轴向后移动。设置 div 标签的 height 属性是解决此问题的快速方法。 @Jeffrey 的解决方案“应该”在技术上有效。但它不是。也许有人可以对此有所了解! :)
标签: javascript html ajax dom web