Javascript 始终滚动到可滚动表格的末尾
我正在编写一个简单的有角度的聊天框,其中包含一个可滚动的表格和一个输入字段。输入放在末尾。每次我输入消息时,表格滚动条都不会移动。我想把它集中到桌子的最后一行。以下是我目前的代码:Javascript 始终滚动到可滚动表格的末尾,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,我正在编写一个简单的有角度的聊天框,其中包含一个可滚动的表格和一个输入字段。输入放在末尾。每次我输入消息时,表格滚动条都不会移动。我想把它集中到桌子的最后一行。以下是我目前的代码: <table class="table"> <tbody> <tr ng-repeat="msg in chatList "> <td><strong>{{ msg.sender}} : </strong
<table class="table">
<tbody>
<tr ng-repeat="msg in chatList ">
<td><strong>{{ msg.sender}} : </strong>
</td>
<td>{{msg.message}}</td>
</tr>
</tbody>
</table>
<input type="text " ng-model="message " class="form-control " placeholder="Enter a Message ">
<button class="btn btn-primary btn-s " ng-hide="true " type="submit ">Submit</button>
{{msg.sender}}:
{{msg.message}
提交
在看不到html的其余部分的情况下,这可能不是您所需要的,但是如果只滚动到输入框的位置,那么最后一个TR
应该就在该位置上方,怎么样
$('html, body').animate({
scrollTop: $("#IDOfTheInput").offset().top
}, 2000);
正如其他人所提到的,如果不使用HTML和CSS的其余部分来实际设置滚动,这是很难回答的 根据type=“submit”这个聊天在表单提交时触发的用法判断,我在表单中添加了一个指令,可以将一个元素作为目标,使其在“聊天”中处于底部滚动位置。理论上,如果您更改事件处理程序,您可以将其挂接到任何内容中,但请记住在销毁时删除它
您如何尝试滚动表格?你可以发布代码或CSS吗?你可以在重复中添加一个角度过滤器,以便按照你想要的顺序进行排序。说下降,这样你的旧帖子就会被推倒。查看这里的styles@Karthik:Hi Ash,现在我想将我的应用程序连接到服务器后端,以便实时运行。你能告诉我该怎么做吗!嗨,卡蒂克。那么你的意思是当聊天室收到消息时,它会再次滚动到底部?有几种方法可以做到这一点。就我个人而言,我会将聊天逻辑放在服务中,并在收到消息时在$rootscope上使用$broadcast。然后,您可以在$rootscope上执行$on,让fixBottom指令做出相应的反应。这有意义吗?如果不是的话,我可以起草一些东西谢谢你。我要试一试
.directive("fixBottom", function () {
return {
link: function (scope, element, attrs) {
var scrollBot = function(){
var target = document.getElementById(attrs.fixBottom);
target.scrollTop = target.scrollHeight;
};
element[0].addEventListener("submit", scrollBot);
scope.$on('$destroy', function () {
element[0].removeEventListener("submit", scrollBot);
});
}
}
})