【发布时间】:2014-09-17 10:40:02
【问题描述】:
我想从根本上重新创建 iPhone 的“消息”应用程序的行为,使用 Angularjs(或任何其他 js)以 webapp 形式。我有一个包含我所有消息的 div,然后每条消息也是一个很好控制的元素。当用户加载消息指令时,我希望 div 容器基本上加载在底部,然后当新消息进入容器时,我希望 div 自动滚动到底部。
到目前为止,我能想到的最好的事情是:
window.setInterval(function() {
var elem = document.getElementById('data');
elem.scrollTop = elem.scrollHeight;
}, 4000);
我使用的是 Angular,所以任何东西都会很好,但我尝试/发现的所有东西似乎都有些老套,并且无法完全复制与“消息”应用程序相同的行为。
编辑:
我也试过
$scope.$watch('messages',function(){
console.log('messages changed')
var elem = document.getElementById('messageDiv');
elem.scrollTop = elem.scrollHeight;
});
这里令人沮丧的是,这在加载时不起作用,另外,如果我在 Chrome 的开发者控制台中执行该功能,它会自动滚动到底部!
【问题讨论】:
标签: javascript jquery html angularjs