Home > Backend Development > PHP Tutorial > 如何让滚动条自动滚到最底部

如何让滚动条自动滚到最底部

PHPz
Release: 2020-09-04 14:58:05
Original
10144 people have browsed it

让滚动条自动滚到最底部的方法:首先在DIV的底部添加一隐藏元素“element”;然后调用“element.scrollIntoView()”方法;最后使元素滚动到可视区域即可。

如何让滚动条自动滚到最底部

如何让滚动条自动滚到最底部?

让DIV中的垂直滚动条自动滚到最底部

在聊天窗口中当消息增多超过消息窗体DIV的高度时就会出现滚动条,但此时滚动条在绝大多数浏览器中都始终位于DIV的顶部,这样就会导致之后的消息看不见,必须往下拖动滚动条才能看到新的消息,如果做到当出现滚动条时,滚动条始终位于DIV的底部呢?

方式一:设置DIV的scrollTop=scrollHeight;

方式二:在DIV的底部添加一隐藏元素element,然后调用element.scrollIntoView()。这里的scrollIntoView是原生的方法,通过名称我们就不难发现该方法用来使元素滚动到可视区域。

为了简单起见直接将两种方式放在一起。

<html>
<head>
<style type="text/css">
div{margin:0px;padding:0px;}
#main{width:380px;height:102px;overflow-y:auto;border:1px solid #ddd;padding:0 10px 0 10px;}
#content{width:350px;line-height:20px;}
</style>
<script type="text/javascript">
  window.onload=function(){
    var i=1;
    var hid=document.getElementById(&#39;msg_end&#39;);//隐藏在消息框下面的元素
    var btn=document.getElementById(&#39;btnSend&#39;);//添加消息的按钮
    var cont=document.getElementById(&#39;content&#39;);//消息框
    var mai=document.getElementById(&#39;main&#39;);
    btn.onclick=function(){
        cont.innerHTML+=&#39;消息内容&#39;+i+&#39;<br/>&#39;;
        //hid.scrollIntoView(false);//方式1通过调用隐藏元素的scrollIntoView()方法使其可见
        //mai.scrollTop=mai.scrollHeight;//方式2通过设置滚动高度
        i++;
    }
  }
</script>
</head>
<body>
<div id="main">
  <div id="content"></div>
  <span id="msg_end" style="overflow:hidden"></span>
</div>
<input type="button" id="btnSend" value="添加"/>
</body>
</html>
Copy after login

效果如下,滚动条始终最底部

c47ca15fe00b61a32b1f5f4881d2b11.png

更多相关知识,请访问PHP中文网

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template