基本上我试图移动一个基于滚动位置的元素。我遇到的问题是,在Firefox和Safari(MacOS)上滚动时,元素会变得奇怪而不连贯,因为定位不会及时更新。有时你需要上下滚动几次才能看到它。 Firefox有更多的平滑处理,这使得事情变得更加丑陋。移动的元素与JavaScript - 在Safari和Firefox中的波涛汹涌的效果
元素需要相对定位(需要尊重溢出:隐藏)。
的示例代码如下:
HTML:
<div class="container">
<div id="block"></div>
</div>
CSS:
.container{
height: 800vh;
width: 100%;
}
#block{
width: 300px;
height:50px;
background: #000;
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
JS:
var block = document.getElementById('block');
window.addEventListener('scroll', function(){
block.style.top = window.pageYOffset*1.2 + "px";
});
并有CodePen链接:https://codepen.io/maciejgunia/pen/gxQReo
感谢您的任何建议。
编辑:这里是观察到的行为 - 我知道有些人看到不同的是 - https://jumpshare.com/v/RhU7gNYAlMFwDo7HIl5Z
这里是你应该开始什么:https://开头johnresig.com/blog/learning-from-twitter/ – CBroe
谢谢,但我根据文章更新了代码,说实话这个问题更糟糕 - 现在即使在Chrome中也是如此。 –