ホームページ > バックエンド開発 > PHPチュートリアル > 如何让滚动条自动滚到最底部

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

PHPz
リリース: 2020-09-04 14:58:05
オリジナル
10144 人が閲覧しました

让滚动条自动滚到最底部的方法:首先在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>
ログイン後にコピー

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

c47ca15fe00b61a32b1f5f4881d2b11.png

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート