AngularJS 让Div自动滚动至底部。

用AngularJs做即时通讯,需要将div的滚动条固定到底部。
现在尝试了下面的做法,没有反应。

//----DIV滚动条置底
$scope.scrollWindow=function(){
    var _el = document.getElementById('chat_history');
    _el.scrollTop = _el.scrollHeight;
};

//----使用方法
$timeout(function(){
    $scope.scrollWindow();
},500);
阅读 8.1k
2 个回答

已经实践成功的答案。采用了 HTML5 的API DOMNodeInserted 来检测元素内容的变动。

$scope.scroll_go=function(){
    var _childEl=jQuery(".chat-history"),_el=jQuery("#chat_history");
    if(_childEl.height()>(_documentSize.height - 50)){
        _el.scrollTop(_childEl.height());
    }
    //----检测元素内容变动
    _childEl.bind('DOMNodeInserted',function(){
        _el.scrollTop(_childEl.height());
    });
};
$scope.scrollWindow=function(){
    var _el = document.getElementById('chat_history');
    _el.scrollTop = _el.scrollHeight - _el.height;
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进