如何使用px的变量scrollTop?

时间:2015-01-15 16:33:54

标签: jquery

由于我使用ajax加载容器内的内容,我首先检查主体是否有一个类,如果它没有添加它,如果它是,我希望窗口滚动到新添加的内容。我希望它滚动的距离需要是我在开头用全局变量设置的容器的高度。计时器只是为了确保在设置变量之前完全加载所有内容。 185是我需要的额外数量的px,因为标题具有该高度。

它正在工作,但它没有滚动确切的错误

第一次html加载

<div class="loadedList"> --- First time we save its height+header height in a globalVar pos
   <div class="ajax-wrapper">
      <div class="item></div>
      <div class="item></div>
      <div class="item></div>
   </div>
</div>

加载新内容时的第二个html

<div class="loadedList">
   <div class="ajax-wrapper">
      <div class="item></div>
      <div class="item></div>
      <div class="item></div>
   </div>
   <div class="ajax-wrapper"> -- Scroll to this very top which should be pos variable
      <div class="item></div>
      <div class="item></div>
      <div class="item></div>
   </div>
</div>

if (!jQuery("body").hasClass("loadedList")) {
    setTimeout(function(){
        jQuery("body").addClass("loadedList");
        pos = jQuery("#list").outerHeight() + 185;
    }, 2000);
}
else {
    $("body, html").animate({
        scrollTop: pos
    }, 1000).offset().top;
}

1 个答案:

答案 0 :(得分:0)

这就是它的工作原理

        if(!jQuery("body").hasClass("loadedList")) {
                jQuery("body").addClass("loadedList");
        } else {
        var pos = jQuery("#list").height();
        $("body, html").animate({scrollTop: pos}, 1000).offset().top;
    }