<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="keywords" content="滚动条, scrollbar, 页面底部, 聊天窗口, " />
<meta name="description" content="有些时候(如开发聊天程序),我们需要将将滚动条(scrollbar)保持在最底部,比如聊天窗口,最新发出和收到的信息要显示在最下方,如果要看到最下方的内容,就必须保证滚动条保持在最底部。" />
<title>将滚动条(scrollbar)保持在最底部的方法 - 滚动条, scrollbar, 页面底部, 聊天窗口, </title>
</head>
<body>
<p id="example">
<h3 id="example_title">将滚动条(scrollbar)保持在最底部的方法</h3>
<p id="example_main">
<!--************************************* 实例代码开始 *************************************-->
<script type="text/javascript">
function add()
{
var now = new Date();
var p = document.getElementById('scrollp');
p.innerHTML = p.innerHTML + 'time_' + now.getTime() + '<br />';
p.scrollTop = p.scrollHeight;
}
</script>
<span class="notice">请点击“插入一行”按钮,插入最新信息,当出现滚动条时,滚动条将自动保持在底部。</span><br />
<p id="scrollp" style="overflow:auto; height: 100px; width: 400px; border: 1px solid #999;">
</p>
<input type="button" value="插入一行" onclick="add();">
<!--************************************* 实例代码结束 *************************************-->
</p>
</p>
</body>
</html>
以上的js可以让p滚动条保持最底部
然后我用juery重新写了一个。
<script src="js/jquery-1.11.3.js"></script>
<p id="example">
<h3 id="example_title">将滚动条(scrollbar)保持在最底部的方法</h3>
<p id="example_main">
<!--************************************* 实例代码开始 *************************************-->
<span class="notice">请点击“插入一行”按钮,插入最新信息,当出现滚动条时,滚动条将自动保持在底部。</span><br />
<p id="scrollp" style="overflow:auto; height: 100px; width: 400px; border: 1px solid #999;">
</p>
<input type="button" value="插入一行" id="sr">
<!--************************************* 实例代码结束 *************************************-->
</p>
</p>
<script>
$("#sr").click(function(){
var now=new Date();
var p=$("#scrollp");
p.append(now.toLocaleString()+"</br>");
p.scrollTop = p.scrollHeight; //这块怎么不转了?
});
</script>
然后我用jquery手册查了一下scrollTop和scrollHeight都是jquery写法啊
这是为什么不能让jquery方法滚动条一直置于页面底部呢?
http://jsbin.com/nibiwayuga/edit?html,js 在线demo.
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
p.scrollHeight一直都是undefined,因为p现在已经是jquery对象了
p.scrollTop = p.scrollHeight;改为
p.scrollTop(p[0].scrollHeight);是原生的写法
jquery进入选择器以后dom节点变成一个列表
要写成