我有以下情况:
我有一个可滚动的div
,当我向下滚动时,我想用其他元素替换这些div
的一些孩子,但满足以下两个条件:
div
的scrollHeight,clientHeight和offsetHeight保持不变问题在于,当元素替换发生时,Mac OS上的intertia滚动突然停止。
我写了一个小例子:http://jsfiddle.net/ah5T8/
第一个(来自dop)可滚动div
,让它的孩子每隔100ms更换一次。第二个没有。尝试滚动div
两个,惯性滚动在第一个滚动中不会表现正常。这是为什么?我怎么能克服这个?
注1:
我使用angularJS和ng-repeat
用以下代码替换元素:
function getArray(n){
var res = [];
for(var i=0;i<n;i++)
res.push({text: i});
return res;
}
setInterval(function(){
$scope.arr = getArray(50);
$scope.$digest();
}, 100);
注2:
您需要拥有支持惯性滚动的Mac OS和Magic Mouse或其他指针设备才能看到此内容。
修改
有趣的是,它实际上可以通过Parallels虚拟机在Window 8上的Internet Explorer 11中正常工作。但在最新的Chrome中无效,在Mac OS 1.9.2上也没有Safari