【发布时间】:2015-02-01 06:08:13
【问题描述】:
想办法让我的聊天 div 区域不会刷新和烦人地滚动到底部。在搜索了我能想出的唯一解决方案之后,将全局设置为某个值并在 onfocus 和 onblur 返回时更改它。
javascript 从来都不是我最擅长的领域,我想它可能只是我自己。
var chatarea = document.getElementById('usertalk');
window.onload= function() {
chatarea.scrollTop = chatarea.scrollHeight;
}
var chatfocus = false;
chatarea.onfocus=function(){ chatfocus = true; }
chatarea.onblur=function(){ chatfocus = false; }
setInterval("updateChat()", 5000);
function updateChat(){
var ajaxRequest;
ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
if(chatfocus === false){
chatarea.innerHTML = ajaxRequest.responseText;
chatarea.scrollTop = chatarea.scrollHeight;
}
}
}
ajaxRequest.open("GET", "comments.php?t=<?php echo $topicc; ?>", true);
ajaxRequest.send(null);
}
如果 javascript 会打印我的错误,我可能会弄清楚或搜索到足以理解。我尝试了许多不同的变体并将其分配给窗口,但脚本仍然无法工作。我终于放弃并继续使用 php,我现在可以调用一个编辑表单来替换我想要自动刷新的同一个 div 中的评论,并且也需要为此暂停这个脚本。但是再次不知道在不问问题的情况下实现 js。
【问题讨论】:
标签: javascript ajax scroll refresh