Javascript 在底部滚动
我正在用angular js制作一个聊天应用程序,我已经在聊天区添加了滚动条。 代码如下:Javascript 在底部滚动,javascript,jquery,angularjs,html,css,Javascript,Jquery,Angularjs,Html,Css,我正在用angular js制作一个聊天应用程序,我已经在聊天区添加了滚动条。 代码如下: <div class="chat active-chat" id="scrollme" > <div class="scroll"> <div ng-repeat="c in activeConversations track by c.time| orderBy:'time':false" > <div class="bubb
<div class="chat active-chat" id="scrollme" >
<div class="scroll">
<div ng-repeat="c in activeConversations track by c.time| orderBy:'time':false" >
<div class="bubble" ng-class="c.type" >
{{c.message}} <br/>
<a style="color: blue;" ng-click="openFile(c.uploadedFile.fileContentType, c.uploadedFile.file)" ng-if="c.uploadedFile.file" target="_blank">{{c.uploadedFile.fileName}}
</a>
<span class="user_message">{{c.time | date:'yyyy-MM-dd HH:mm:ss'}}</span>
</div>
</div>
</div>
</div>
现在我想在默认情况下将滚动条保持在底部,每当消息到达时,滚动条都应该向上滚动
提前感谢将其保留在底部: 您只需将scrollTop设置为元素的高度: 更改以下元素:
有关此功能,请参见小提琴:
对于更新元素scrollTop值的聊天:
假设不断更新的聊天对象是JSON表示,您只需查看JSON字符串值:
$scope.$watch('activeConversations', function(newValue, oldValue) {
var ele = document.getElementById('scrollme');
var curScrollTop = ele.scrollTop;
ele.scrollTop = curScrollTop - 16; //Go up 16 pixels, but you can change this as you need
});
var textarea=document.getElementById('textarea_id');textarea.scrollTop=textarea.scrollHeight;
var ele = document.getElementById('scrollme');
var innerEle = document.getElementById('innerScroll') //add this ID to your scroll class element. Or whatever name you want to
var height = innerEle.offsetHeight;
ele.scrollTop = height;
$scope.$watch('activeConversations', function(newValue, oldValue) {
var ele = document.getElementById('scrollme');
var curScrollTop = ele.scrollTop;
ele.scrollTop = curScrollTop - 16; //Go up 16 pixels, but you can change this as you need
});