JQuery:在WebSpherePortal7主题中从页面底部浮动工具栏

JQuery:在WebSpherePortal7主题中从页面底部浮动工具栏,jquery,css,positioning,offset,viewport,Jquery,Css,Positioning,Offset,Viewport,我正在为WebSpherePortal7开发一个基于PageBuilder2(csa2.theme)的定制主题。我正在使用jquery1.7.1。 其中一个要求是有一个页脚(id是div#footer)和一个帮助栏(类是div.footer.flotante),当页脚在视口中时它正好位于页脚的顶部,但当页脚不在视口中时它需要浮动在窗口的底部。。。有点像Facebook的新时间线工具栏(添加到好友等)或Mashable社交小部件,只从底部开始 以下是我使用JQuery实现此目的的一个片段: $(

我正在为WebSpherePortal7开发一个基于PageBuilder2(csa2.theme)的定制主题。我正在使用jquery1.7.1。 其中一个要求是有一个页脚(id是
div#footer
)和一个帮助栏(类是
div.footer.flotante
),当页脚在视口中时它正好位于页脚的顶部,但当页脚不在视口中时它需要浮动在窗口的底部。。。有点像Facebook的新时间线工具栏(添加到好友等)或Mashable社交小部件,只从底部开始

以下是我使用JQuery实现此目的的一个片段:

$(window).scroll(function (event) {
    var barra = $('div.footer.flotante');
    var offset = barra.offset();
    var bh = barra.height();
    var h =  offset.top;
    var wh = $(window).height();

    var dh = $(document).height();
    var y = $(this).scrollTop();
    var x = dh - y - wh;
    var hf = $("div#footer").height();

    if (x > hf) {
        barra.addClass('fixed');
    } else {
        barra.removeClass('fixed');
    }
});
以下是我正在使用的CSS样式:

div.footer.flotante{
    background:url(../images/footerone.png) repeat-x;
    width:100%;
}
div.footer.flotante.fixed{
    position: fixed;
    bottom: 0px;
    z-index: 1;
}
有了这些代码,我可以在html页面上浮动工具栏,以防页面内容是静态的(因此
dh
的值是恒定的)。我的问题是,这是一个主题开发,需要将内容动态加载到文档体,将
dh
值增加到未知的像素量。在这种情况下,
x
的值的计算采用了
dh
的初始值,从而导致浮动工具栏位置错误

  • 在呈现该内容后,如何重新计算
    dh
    的值
  • 如果没有名为
    offset().bottom
    的属性,是否有一种方法可以临时“翻转”文档以计算我的工具栏的
    offset().top
    值,从而无需知道
    dh
    的最终值
  • 你有没有其他建议来做我想做的事

  • 提前感谢。

    我找到了问题的原因:这是一个带有负底部属性的徽标的绝对定位图像,因此,在页脚下方创建了一个额外的垂直间距,并增加了
    dh
    值。

    我发现了问题的原因:这是一个带有负
    底部属性的徽标的绝对定位图像,从而在页脚下方创建了一个额外的垂直间距,并增加了
    dh
    值。将此作为答案添加,然后将其选择为正确。这样对你的帐户更好。