当屏幕分辨率高度太小而不适合滚动div时,如何让可滚动div不添加高度到包含div?

时间:2011-10-10 16:40:09

标签: javascript jquery scroll

我在滚动时使用javascript在页面上移动div。我在网上找到了代码,它可以满足我的需求。我遇到的问题是较低的屏幕分辨率(ipad),你必须向下滚动才能看到页脚超过主要内容区域,滚动div向下推进屏幕,更改div和body的高度,这使您能够无休止地向下滚动页面。当您滚动时,div会通过向正在移动的div的顶部添加边距来滚动。我已经尝试在所有包含的div和body上设置高度,但似乎没有任何工作css明智,我不知道javascript设置某种条件。

我正在处理的页面是http://gwa-inc.com/pages.aspx?pid=31&name=Americana

如果您使浏览器窗口高度变小并向下滚动页面,您将看到我在说什么。是否有一个容易解决的问题,我错过了?

正在使用的脚本是:

var $sidebar = $(".subMenuWrap"),
    $window = $(window),
    offset = $sidebar.offset(),
    topPadding = 30;

        $window.scroll(function () {
            if ($window.scrollTop() > offset.top) {
                $sidebar.stop().animate({
                    marginTop: $window.scrollTop() - offset.top + topPadding
                });
            } else {
                $sidebar.stop().animate({
                    marginTop: 0
                });
            }
        });

1 个答案:

答案 0 :(得分:0)

您应该绝对定位需要滚动的框,以便将其拉出页面流。然后你可以更密切地控制那个盒子的去向,并且可以防止它进一步向下推动页脚。