我目前在网站主页上有全屏英雄图像幻灯片。我有一个 javascript 效果,它获取滚动位置并将其除以 1.5,然后设置图像 transformY 位置,从而产生视差效果。
这是我目前拥有的代码:
$(window).on("load scroll resize", function () {
$("form:not(.blive_PageEdit) .hero-img .blive_Control img").css({ "margin-top": $(window).scrollTop() / 1.5 });
});
这可以按我的意愿工作,但我注意到性能是一个主要问题,特别是在支持异步滚动的浏览器上,这会导致抖动效果。
我想知道是否有更好的方法来实现这一点?完美的是拥有以下内容,但我认为仅使用 CSS 是不可能的:
img {
transformY(calc(scrollTop / 1.5));
}
我也看过 IntersectionObserver,但我不确定这会实现我想要做的。
任何想法都会有所帮助。谢谢