视差滚动在 Internet Explorer 11 和 Safari 中卡顿
Parallax scrolling is stuttering in Internet Explorer 11 and Safari
我有一个针对网站滚动效果的视差解决方案,但不知何故它在 Safari 9.0.1 (Mac) 和 Internet Explorer 11 (Windows 7) 中表现不稳定。
我的解决方案使用 jQuery 1.11 并通过使用 jQuery 的 .css()
方法调整 div 的 background-position
来工作。这应该具有可以滚动的固定背景图像的视觉效果。
这是我的问题的简化演示:https://jsfiddle.net/Lypnb63c/1/
更准确地说,问题似乎与函数 dontScrollBackground()
.
有关
我发现的一件奇怪的事情是,一旦我用 position:fixed
.
删除 div 后,大多数浏览器都会变得更加不稳定
这里是一个带有 div 元素和 position:fixed
的演示:https://jsfiddle.net/Lypnb63c/1/
问题:
- 如果我的解决方案存在特定于浏览器的问题,有人知道吗?
- 是否有一种简单的方法可以让它在所有主流浏览器中运行?
一个解决方案可能是使用纯 css,但我想先用我当前的解决方案尝试一下。
如有任何帮助,我将不胜感激。
我自己解决了这个问题。问题是第 12 行 $(this).css("background-position", "52% " + (st - y) + "px");
.
我发现在代表背景的元素中添加如下样式也可以达到同样的效果:background-attachment: fixed
。因此,我的问题的解决方案是将上述第 12 行更改为 $(this).css("background-attachment", "fixed");
我希望我的解决方案能帮助 运行 和我遇到类似问题的人。
我有一个针对网站滚动效果的视差解决方案,但不知何故它在 Safari 9.0.1 (Mac) 和 Internet Explorer 11 (Windows 7) 中表现不稳定。
我的解决方案使用 jQuery 1.11 并通过使用 jQuery 的 .css()
方法调整 div 的 background-position
来工作。这应该具有可以滚动的固定背景图像的视觉效果。
这是我的问题的简化演示:https://jsfiddle.net/Lypnb63c/1/
更准确地说,问题似乎与函数 dontScrollBackground()
.
我发现的一件奇怪的事情是,一旦我用 position:fixed
.
这里是一个带有 div 元素和 position:fixed
的演示:https://jsfiddle.net/Lypnb63c/1/
问题:
- 如果我的解决方案存在特定于浏览器的问题,有人知道吗?
- 是否有一种简单的方法可以让它在所有主流浏览器中运行?
一个解决方案可能是使用纯 css,但我想先用我当前的解决方案尝试一下。
如有任何帮助,我将不胜感激。
我自己解决了这个问题。问题是第 12 行 $(this).css("background-position", "52% " + (st - y) + "px");
.
我发现在代表背景的元素中添加如下样式也可以达到同样的效果:background-attachment: fixed
。因此,我的问题的解决方案是将上述第 12 行更改为 $(this).css("background-attachment", "fixed");
我希望我的解决方案能帮助 运行 和我遇到类似问题的人。