滚动时始终可见div

M U*_*que 20 html visibility

在我的aspx页面上,我有两个左右两部分.我想在滚动右侧(这是页面的实际内容)时始终显示左侧(实际上是'div'包含树视图).谢谢

Des*_*web 20

嗨我找到了最好的解决方案!一如既往JQUERY拯救我的生命!

只要把一个Div叫做你想要的,我在下面的例子中选择了相同的结果:#scrollingDiv.

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script>
    $().ready(function() {
        var $scrollingDiv = $("#scrollingDiv");

        $(window).scroll(function(){            
            $scrollingDiv
                .stop()
                .animate({"marginTop": ($(window).scrollTop() )}, "slow" );         
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我从网站上获取了该代码,它的工作原理很容易理解.


小智 18

你需要穿上position: fixed;div元素.这会将它锚定到视口.

  • 忘记ie7和旧版本,这是浪费时间,伙计;) (5认同)

Gri*_*lse 8

快进到 2020 年,现在可以使用 CSS 来做到这一点。

<div style="position: sticky; top: 0;"> Tree view </div>
Run Code Online (Sandbox Code Playgroud)

用户 npas 很好地解释了这一点

top是滚动时 div 应停留在视口顶部的距离。指定top是强制性的。(…)

粘性 div 在所有方面都像普通 div 一样,除非你滚动它,然后它会粘在浏览器的顶部。

这是一个jsfiddle给你一个想法。

MDN 文档

所有现代浏览器都支持