色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何保持滾動條總是在底部?

榮姿康1年前7瀏覽0評論

我在div元素中有一個滾動條,最初它的位置是頂部。每當我向div元素添加一些文本時,滾動條都不會移動。有什么方法可以使div元素位置的滾動條總是在底部,并且每當我向div元素添加一些文本時,滾動條也會自動轉到底部?

這是我的div元素:

<div class='panel-Body scroll' id='messageBody'></div>

和CSS類

.scroll {
            height: 450px;
            overflow: scroll;  
        }

我需要的是,最初滾動條的位置應該在底部。

同樣,當我單擊發送消息時,我將消息添加到div元素“messageBody”中。此時,滾動條應該再次向下。

這是我的滾動條的當前樣式enter image description here

我希望永遠如此enter image description here

提前感謝。

如果我沒理解錯你想要什么的話,像這樣的東西應該會做你想要的。

用您的聊天消息容器Id替換getElementById()中的messageBody。

var chatHistory = document.getElementById("messageBody");
chatHistory.scrollTop = chatHistory.scrollHeight;

這將把消息容器滾動到底部。 因為滾動位置是以像素而不是百分比記錄的,所以默認情況下,當您向容器中添加更多元素時,滾動位置不會改變。

在將新消息添加到聊天消息容器中之后,請執行此操作。

假設你的html代碼是這樣的。

超文本標記語言

<div id="parentDiv">
  <div class="people">1</div>
  <div class="people">2</div>
  <div class="people">3</div>
  <div class="people">4</div>
  <div class="people">5</div>
  <div class="people">6</div>
  <div class="people">7</div>
  <div class="people">8</div>
  <div class="people">9</div>
</div>

然后像這樣包裝你的js

射流研究…

var objDiv = document.getElementById("parentDiv");
objDiv.scrollTop = objDiv.scrollHeight;

演示

給你。遵循這個概念。

$('#messages').scrollTop($('#messages')[0].scrollHeight);

#chatbox-history {
  overflow: none;
  position: relative;
  width: 100%;
  height: 200px;
  border: 1px solid #ccc;
}
#messages {
  overflow: auto;
  position: absolute;
  bottom: 0;
  width: 100%;
  max-height: 200px;
}
#messages div {
  border: 1px solid #e2e4e3;
  margin: 5px;
  padding: 10px;
  background: #fafafa;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="chatbox-history">
  <div id="messages">
    <div>asdjf ;asd</div>
    <div>ajsd fa ;skd f;s</div>
    <div>asdjf ;akjs d;lf a;lksd fj</div>
    <div>ajsd fkaj s;dlf a;ljsdl;fkja;lsd f; asd</div>
    <div>Wassup?</div>
  </div>
</div>

那就是::message body . last child . scrollintoview();//初始滾動到底部位置。

附注:在頁面加載之后,這個命令應該由您的消息處理程序在消息更新時調用。

現在已經是2023年了,你可以直接使用Element.scrollIntoView()了!檢查MDN文檔。

var messageBody = document.querySelector('#messageBody');
messageBody.scrollIntoView();

——-

6月11日更新

對于那些否決這個答案的人,請確保你有一個固定在滾動區底部的元素作為目標,并在每次內容更新時調用這個函數。此外,請檢查MDN文檔并確保您的瀏覽器符合要求!