在重新加载时计算偏移量()。顶部,就像将视口滚动到顶部

时间:2015-08-20 21:28:38

标签: jquery html

我使用offset()top来计算与视口相关的标题的位置,然后在将其抬起到视口顶部时将类应用于该标题。

一切正常。问题是当页面重新加载时向下滚动,在这种情况下,偏移量是从这一点开始计算的,而div上的效果只会从那里触发。

有没有办法制作offset()。top计算这个初始点总是好像视口滚动到顶部?

这是js,

     jQuery(function(){

        var menuTopo = jQuery('#titulo').offset().top;

          jQuery(window).scroll(function(){
                if( jQuery(window).scrollTop() > menuTopo ) {
                        jQuery('#titulo').removeClass("gde").addClass("peq");
                } else {
                            jQuery('#titulo').removeClass("peq").addClass("gde");
                } 
          });
      });

这里是html。

    <body id="body">

    <div id="titulo" class="gde">wederãlab</div>

    (sidebar, content)...

   </body>

1 个答案:

答案 0 :(得分:0)

据我了解你的问题,你只需要运行相同的功能,但是当文档加载完毕后:

$(document).ready(function () {
      testHeader();


    $(window).scroll(function () {

        testHeader();
    });



});


function testHeader() {
    if ($(this).scrollTop() > 0) {
        $('#titulo').removeClass("gde").addClass("peq");

    } else {
        $('#titulo').removeClass("peq").addClass("gde");
    }

}

JSFiddle

这应该适用于两种情况 - 加载页面和滚动时。