【发布时间】:2021-10-23 07:32:28
【问题描述】:
当用户向下滚动页面以创建视差滚动效果时,我正在使用 vanilla JS 来增加背景大小值。我的功能如下:
const heroBg = document.getElementById('hero');
window.addEventListener( 'scroll', function() {
while (heroBg.style.backgroundSize <= '100') {
heroBg.style.backgroundSize = 85 + window.pageYOffset/8 + '%';
console.log(heroBg.style.backgroundSize);
if (heroBg.style.backgroundSize === '100') {
console.log('too big');
break;
}
}
});
我遇到的问题是 while 循环似乎只运行一次,并且图像在“backgroundSize”达到 100 之前就停止了增长。
【问题讨论】:
-
你在哪里设置初始 heroBg backgroundSize 以及它设置的值是什么,是否有理由将 100 放在引号中?您需要提取数字。
标签: javascript html css while-loop