我在JS中固定div的背景位置来创建视差效果(背景附件对我的目标不太好)。但有时候,它的工作原理是这样的:背景可能不会立即改变位置。
下面是一个例子:https://youtu.be/SshLhAfD3oY
CSS:
.box {
width: 100%;
height: 1000px;
background-image: url("e4AAAgCw3OA-960.jpg");
background-size: cover;
background-position-y: var(--check);
}
JS:
function parallax() {
document.body.style = `--check: ${window.pageYOffset}px`;
}
window.addEventListener('scroll', (e) => {
parallax();
});
有什么想法吗?
我尝试使用 * window.scrollY * 代替,但没有任何变化。
1条答案
按热度按时间kxkpmulp1#
不需要使用JavaScript。我建议在CSS中使用
background-attachment: fixed
。像这样修改你的CSS:
这是一个视差滚动效果的例子:
来源:https://www.w3schools.com/cssref/tryit.php?filename=trycss_background-attachment_fixed