Javascript 在没有jquery的情况下,如何使div在滚动时保持原位?

Javascript 在没有jquery的情况下,如何使div在滚动时保持原位?,javascript,html,css,Javascript,Html,Css,在没有jquery的情况下,如何使div在滚动时保持原位 我想做一些像《新东西》《下一件大事》《什么是热门》这样的东西 mashable的头部分,不使用jquery(仅javascript) 有人能帮我吗 你试过CSSposition:fixed和top和left set吗?这是无需脚本即可实现的唯一方法。您可以使用CSS固定位置: position:fixed; 然后相对于窗口定位图元 left:50px; top:50px; 这将从左上角固定窗口50px中的元素 如果您只希望在滚动到某个

在没有jquery的情况下,如何使div在滚动时保持原位

我想做一些像《新东西》《下一件大事》《什么是热门》这样的东西

mashable的头部分,不使用jquery(仅javascript)


有人能帮我吗

你试过CSS
position:fixed
和top和left set吗?这是无需脚本即可实现的唯一方法。

您可以使用CSS固定位置:

position:fixed;
然后相对于窗口定位图元

left:50px;
top:50px;
这将从左上角固定窗口50px中的元素

如果您只希望在滚动到某个高度时发生,您可以在onscroll事件中的Javascript中操作此操作。

使用此HTML:

<div id="myElement" style="position: absolute">This stays at the top</div>

它将一个事件附加到窗口的滚动上,并将元素向下移动,直到滚动为止。

使用css将div放置为固定状态,以便它不会滚动:

position:fixed

看看下面的演示。希望这有帮助


  • 欢迎光临

使用css可以很好地实现这一点

#id_name{position:fixed;top:some_value;left:some_value;}

这将把div固定在您为left和top position指定的相应值上

这不起作用,因为我正在处理的div不在顶部。这只是一个简单的div代码。。。。请查看mashable.com,查看滚动时对的更改。因此,他们也使用了
position:fixed!重要的.fixable wrapper.fixed
类中定义了
top:44px
defined.OP,要求在没有jquery的情况下执行此操作。你能用javascript给我它的代码吗?只是不使用jquery?:(NunnSi不太清楚如何在JavaScript中做到这一点,但我认为这是一种相当冗长的方法。另一方面,jQuery是一个非常小的方法。我可以问一下为什么你这么反对使用jQuery吗?嗨,谢谢你的帮助,但是我想要的位置是在页面的中间。”(你能分享html或js fiddle demoHi@piyush吗?你认为这可以通过javascript使用offsetTop函数来实现吗?“offsetTop”将为你提供元素的垂直偏移位置。当你上下滚动时,它会有所不同。我认为Css是更好的方法,可以将其设置为页面中间的固定位置。使用位置固定或绝对位置(取决于)取决于您的DOM结构
<div class = "hello">
    <ul>
        <li>Welcome </li>

    </ul>
</div>
#id_name{position:fixed;top:some_value;left:some_value;}