[英]cant get my div to scroll automatically with the content every time a button is clicked
在堆棧溢出時,無法在此找到任何好的解決方案。 我有一個div元素,它具有動態添加的內容。 一旦將一定量的內容輸入到div中,該div就已經可以滾動了。 我想做的是讓div每次添加內容時自動向下滾動,以便用戶不必手動向下滾動即可查看新內容。 這是我的HTML:
<div class="messageContainer">
<ul class="messageList">
<li class="messageItem" ng-repeat="message in messages">
Message:<input readonly class="messageText" ng-model="message.text" ng-change="messages.$save(message)"></input>
</li>
</ul>
</div>
每次添加新元素時,請使用jQuery.animate()。
$('.container').animate({
scrollTop: $(".container div:last-child").offset().top;
});
像這樣: https : //jsfiddle.net/gkehnkdk/4/
將Element.scrollTop
設置為Element.scrollHeight
。 像這樣:
在純JavaScript中:
var container = document.getElementsByClassName ('messageContainer')[0];
var submit = document.getElementById ('submit');
submit.onclick = function () {
container.scrollTop = container.scrollHeight;
};
在jQuery中:
var container = $('.messageContainer')[0];
$("#submit").click(function() {
container.scrollTop = container.scrollHeight;
});
重要的部分是將container.scrollTop
設置為container.scrollTop
,如果要通過XMLHttpRequest或其他方法每隔幾秒鍾自動添加內容,則只需在添加內容后將Element.scrollHeight
設置為Element.scrollTop
即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.