我正在使用等效代码来定位元素:
$(window).scroll(function(){
my_element.css("top",$(window).scrollTop() + 50)
});
问题是:在滚动期间,元素不会保持静止。它来回摆动,好像onscroll
事件的调用没有像滚动一样快。奇怪的是,有时它只是有效。
答案 0 :(得分:1)
我建议您在CSS中使用position: fixed
,而不是在每个卷轴上调整顶部。这样,无论你滚动的速度有多快,你的航向都会稳定在一个位置。
即
<div style="font-family: oswald; color: white; position: fixed; top: 50px; ...">...</div>
完全放弃滚动事件处理程序。
或者甚至更好地使用类,<div class="heading">...</div>
在你的CSS中:
.heading {
font-family: oswald;
...
position: fixed;
top: 50px;
}
答案 1 :(得分:0)
这是因为当您 DRAG 并移动滚动条按钮进行滚动时,会根据您执行此操作的速度或速度多次调用滚动事件,并且在此期间,每次都会执行此功能在滚动事件上指定的内容被调用,计算和执行(可能需要几分之几秒才能完成)。
作为一种解决方法,您可以使用CSS位置:固定属性。如果你必须按照自己的方式去做,那么可能的解决办法是稍微延迟吗?