0

当你滚动时,我试图让文本跟随屏幕,

我已将所有文本放在名为“mydiv”的 div 中

<div id="mydiv" > 
    <!-- lots of stuff in asp -->
    <table>
        <!-- table rows, etc. -->
    </table>
</div>

jQuery

<script type="text/javascript"src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {

        var currentTop = parseInt($('#mydiv').css('top'));
        $(window).scroll(function () {
            var top = $(window).scrollTop();
            $('#mydiv').css('top', top+currentTop);
        });

    });

</script>

这是我的CSS

.mydiv{
    position:absolute;
    top:10px;
}
4

3 回答 3

4

使用position: absolute固定它相对于身体。你想要position: fixed,它相对于窗口修复它。

如果您的内容大于框的大小,则需要使用overflow属性来说明这一点,以便框上有滚动条。然后用户可以看到所有内容,当然不是同时看到所有内容。所以你的 CSS 将是:

.mydiv {
    position: fixed;
    top: 10px
    overflow: auto;
    height: 100%;
}

您可以完全删除 jQuery;只要你有,你就不需要它position: fixed

但是请注意,这不适用于使用视口概念的移动浏览器:在渲染的“窗口”之上有一个视图,并且fixed元素被锁定到窗口,而不是视口。在这种情况下,您将需要提出一个 Javascript 解决方案,但最好是只有在您使用移动设备时才会触发的解决方案。

于 2013-05-14T22:04:44.000 回答
0

position: fixed如果您希望元素相对于视口定位,请尝试使用 css 。

请尽可能清理您的问题格式,以防其他人希望帮助您并从您的问题中学习。

于 2013-05-14T22:06:24.760 回答
0

使用位置:固定在要“跟随屏幕”的 div 上。

于 2013-05-14T22:08:09.810 回答