【发布时间】:2024-05-21 18:00:02
【问题描述】:
我想同时改变top属性的值我滚动。
我不想使用position: fixed。我用position: absolute。
我想在每次向下滚动时将1px 添加到box。
我想在每次向上滚动时将1px 删除到box。
如何做到这一点?
<div id="box" style="position: absolute">
// content
</div>
$(document).bind('scroll', function(){
$("#box").css("top", ..... );
});
【问题讨论】:
-
所以你不想使用 position:fixed what 实际上你需要做什么(假设你希望框保持在相同的位置,无论你如何滚动),但你想过度 -通过使用 javascript 来测量您的滚动距离并相应地修改您的“顶部”值来使事情复杂化?..我不知道你为什么要让你的东西变得不必要地困难..
-
你有没有尝试捕捉 onscroll ?只需保存位置,然后与新位置进行比较。
-
@julesanchez 你是怎么做到的?
-
@steffi : all is on answers 1. 添加侦听器到滚动 2. 使用 scrollTop 获取位置 3. 与滚动的先前值比较(如果变量不为空) 4. 在全局变量中保存新位置
-
@doniyor 是的,我知道。不用担心。我只是等待是否有另一个答案出现。 :)