如何用js控件div的滚动条,让它在内容更新时自动滚到底部?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用js控件div的滚动条,让它在内容更新时自动滚到底部?相关的知识,希望对你有一定的参考价值。
我做一个聊天的东东,需要让信息窗口随时保持显示在底部,希望高手指点。
您的答复很不错,我是用了e.scrollTop=100000来解决的,谢谢!
方法一:
使用锚标记要滚动到的位置,然后通过click方法模拟点击滚动到锚所在位置
<script language="javascript1.2" type="text/javascript">
function onGetMessage(context)
msg.innerhtml+=context;
msg_end.click();
</script>
<div style="width:500px;overflow:auto">
<div id="msg" style="overflow:hidden;width:480px;"></div>
<div><a id="msg_end" name="1" href="#1"> </a></div>
</div>
方法二:
利用DIV的scrollIntoView方法,将最底端滚动到可视位置 [list=1]<script
language="javascript1.2"
type="text/javascript">
function onGetMessage(context)
msg.innerHTML+=context;
msg_end.scrollIntoView();
</script>
<div style="width:500px;overflow:auto">
<div id="msg" style="overflow:hidden;width:480px;"></div>
<div id="msg_end" style="height:0px; overflow:hidden"></div>
</div>
方法三:
<!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>
<div id="example">
<h3 id="example_title">将滚动条(scrollbar)保持在最底部的方法</h3>
<div id="example_main">
<!--************************************* 实例代码开始 *************************************-->
<script type="text/javascript">
function add()
var now = new Date();
var div = document.getElementById('scrolldIV');
div.innerHTML = div.innerHTML + 'time_' + now.getTime() + '<br />';
div.scrollTop = div.scrollHeight;
</script>
<span class="notice">请点击“插入一行”按钮,插入最新信息,当出现滚动条时,滚动条将自动保持在底部。</span><br />
<div id="scrolldIV" style="overflow:auto; height: 100px; width: 400px; border: 1px solid #999;">
</div>
<input type="button" value="插入一行" onclick="add();">
<!--************************************* 实例代码结束 *************************************-->
</div>
</div>
</body>
</html> 参考技术A 模拟一下,控制层的滚动条~
<script language="javascript">
function sendText()
var e=document.getElementById("div1")
var inp=document.getElementById("inp")
e.innerText=e.innerText+"\n"+inp.value;
//e.scrollTop=e.scrollHeight;
function sc()
var e=document.getElementById("div1")
e.scrollTop=e.scrollHeight;
var s=setInterval("sc()",200)
</script>
<div id="div1" style="border:1px #ff9966 dashed;width:400;height:100;overflow-x:hidden;overflow-y:scroll">
</div>
<input type="text" id="inp" style="width:300">
<input type="button" onclick="sendText()" value="发送">本回答被提问者和网友采纳
如何用js监听滚动条滚动事件?
js监视滚动事件的函数是onscroll
js语法:element.onscroll = functionReference
html语法:<element onscroll="myScript">
vue监听滚动事件实现滚动监听的制作步骤:
在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="https://unpkg.com/vue@2.2.6/dist/vue.js"></script> <style type="text/css"> #box width: 100%; height: 2000px; </style></head><div id="box"></div><body> <!-- vue监听滚动事件 --> <script type="text/javascript"> var vm = new Vue( el:'#box', data() return scroll: '' , methods: menu() this.scroll = document.body.scrollTop; console.log(this.scroll) , mounted() window.addEventListener('scroll', this.menu) , ) </script></body></html> 参考技术A用js监听滚动条滚动事件的方法:
使用html语法:<element onscroll="myScript">
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
以上是关于如何用js控件div的滚动条,让它在内容更新时自动滚到底部?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Datatables 中加载表并让它在加载时自动滚动到最后一条记录
html js 或者css怎么做到隐藏滚动条,但是依旧可以滚动?