簡體   English   中英

滾動到div的底部

[英]Scroll to bottom of a div

我有一個問題,用jQuery滾動div 到底部

DIV

HTML:

<div id="chatbox"></div>

CSS:

    #chatbox {
    width:300px;
    height:400px;
    background:grey;
    overflow-x:hidden;
    overflow-y:auto;
    border-radius: 10px;
    background: #045671;
}

當我使用onclick - > $(“#chatbox”)。scrollTop(9999)滾動到底部時,問題出現后再次點擊滾動+ 20px向上。

示例:http: http://46.238.10.232:10001/chat/http://46.238.10.232:10001/chat/

如果你過度設置了scrollTop ,那么就會發生魔法(或者不是,取決於你的期望)。 scrollTop設置為9999會將scrollTop設置為0到9999之間的任意數字,具體取決於必要性。 您還可以閱讀 scrollTop ,因此將其設置為x並不意味着它將保持x ,它將是實際位置,因此如果您有興趣查詢該值,它仍然有意義。

如果元素的內容發生變化,則必須再次設置scrollTop 通常, scrollHeight總是足夠的(是的,你可以嘗試完全准確地計算scrollTop ,但為什么要這么麻煩?讓瀏覽器進行計算,然后重新開始工作)。

所以我想,當你再次“點擊”(無論是什么)時,你就會在聊天室中添加更多內容。 是? 然后你必須再次設置scrollTop


如果你每次設置scrollTop ,你可能太早了。 您應該在修改元素的內容后執行此操作,而不是僅僅響應onclick事件。

$(document).scrollTop($("#chatbox").position.top+$("#chatbox").height());

<a>標簽可能會起作用。 我知道它非常難看,但是使用CSS可以將其設置為普通文本或完全隱藏它。

  1. 將自定義元素放在要滾動到的位置。
  2. 將它的id設置為(例如) scrollelement
  3. window.location.hash設置為'scrollelement'。

積分給Lee Kowalkowski。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM