如何scrollTop使用px变量?

问题描述:

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

它是工作,但它不是在精确的MISURE滚动

第一个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; 
} 
+0

您可以首先删除不需要的'“+ =”'和'“px”'。 – JCOC611 2015-01-15 16:39:20

+0

好的谢谢,但如何scrollTo pos值? – 2015-01-15 16:40:51

+0

您不需要向下滚动新内容的高度,只需向下滚动到现有内容底部(标题高度+现有内容高度)即可。 – skobaljic 2015-01-15 16:41:23

这是使工作

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