HTML惯性滚动在mac os中断

时间:2014-03-23 21:33:03

标签: javascript html css macos scroll

我有以下情况:

我有一个可滚动的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

0 个答案:

没有答案