Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不改变鼠标焦点的情况下,让shoutbox聊天日志滚动到底部并不断刷新?_Javascript_Scroll_Refresh_Livechat_Lost Focus - Fatal编程技术网

Javascript 如何在不改变鼠标焦点的情况下,让shoutbox聊天日志滚动到底部并不断刷新?

Javascript 如何在不改变鼠标焦点的情况下,让shoutbox聊天日志滚动到底部并不断刷新?,javascript,scroll,refresh,livechat,lost-focus,Javascript,Scroll,Refresh,Livechat,Lost Focus,我正在编写一个小型shoutbox/chat应用程序,其中我使用以下代码每0.5秒刷新一次消息日志div,并刷新到底部以显示最新消息 $(setInterval(function() { $('.messageLog').load('display_messages.php'); window.location='#bottom'; }, 500)); “#bottom”指的是我放在“.messageLog”div末尾的一个空div,因此我有一个位置作为消息日志的底部。这种方法

我正在编写一个小型shoutbox/chat应用程序,其中我使用以下代码每0.5秒刷新一次消息日志div,并刷新到底部以显示最新消息

$(setInterval(function() {
    $('.messageLog').load('display_messages.php');
    window.location='#bottom';
}, 500));
“#bottom”指的是我放在“.messageLog”div末尾的一个空div,因此我有一个位置作为消息日志的底部。这种方法的问题是,当我尝试登录时(只需输入用户名并通过聊天盒顶部的一个小表单按下登录按钮),在firefox和internet explorer中,用户名输入字段每0.5秒就会刷新一次,并失去焦点(在chrome中工作正常)。问题是“window.location='#bottom'”这一行导致了输入字段聚焦问题


我想知道是否有办法解决这个问题,这样我仍然可以每0.5秒刷新一次消息日志,并自动滚动到底部,同时不会干扰用户尝试通过用户名字段登录。

删除锚定,改用它

$(".messageLog").attr({ scrollTop: $(".messageLog").attr("scrollHeight") });