【发布时间】:2015-04-15 11:23:55
【问题描述】:
我刚刚在ie11上遇到了一个奇怪的问题。我正在尝试创建一个将与窗口滚动一起滚动的固定元素。
$(window).scroll(function() {
var scrollY=$(this).scrollTop();
$('.myelem').css('transform', 'translateY(' + scrollY + 'px)');
});
我还创建了一个这样的小提琴:
https://jsfiddle.net/fyngwnz6/1/
(这是为了复制问题,我知道这个特殊情况可以用一个固定元素来解决)
代码可以完美运行,在每个浏览器上都没有性能问题,除了 ie11。当使用滚动条时,'myelem' 元素滚动时只有一点点抖动,这在使用鼠标滚轮时变得更加明显。但是,您真正可以看到问题的地方是使用滚动条按钮时。看起来滚动的渲染必须完成才能让 js 跟踪滚动。
我看到 ie11 和平滑滚动存在问题,但这里不是这种情况。有什么解决办法吗?我错过了什么吗?
编辑:虽然我有一个似乎可以解决问题的答案,但实际上我正在寻找的是对具有溢出的元素的解决方案:hidden 适用于它们并且滚动取自溢出元素而不是正文滚动;可以在这里找到类似的场景:
http://www.fixedheadertable.com/
如果在示例中启用了“固定列”,则单击滚动条会显示移动的抖动。
【问题讨论】:
标签: javascript jquery internet-explorer-11 smooth-scrolling