我有一个套接字事件,它使用$scope.items.unshift(item)
到列表的顶部。
html正在使用<ol ng-repeat="item in items"><li>{{item.name}}</li></ol>
问题在于,无论何时项目进入,如果用户在列表中向下滚动
ol { overflow-y: auto; max-height: 100px; }
然后滚动位置会改变,如果他们正在读取一半的项目,它会跳出视图或在页面上向下跳一点。
我正在尝试动态地向列表中添加项目,但没有滚动条移动...这样即使项目流入列表顶部,当前滚动位置也是粘滞的。
答案 0 :(得分:0)
我建议您在取消搭档时从scrollTop
添加项目的高度。获取列表元素myList
并执行以下操作:
var currentScrollTop = myList.scrollTop(),
itemHeight= 30;
$scope.items.unshift(item)
myList.scrollTop(currentScrollTop + itemHeight);
我没有测试这段代码,但它应该给你一个想法。