Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何为px使用变量来滚动顶部?_Jquery - Fatal编程技术网

Jquery 如何为px使用变量来滚动顶部?

Jquery 如何为px使用变量来滚动顶部?,jquery,Jquery,由于我使用ajax在容器中加载内容,我首先检查主体是否有类,是否没有添加类,如果有,我希望窗口滚动到新添加的内容。我希望它滚动的距离需要是容器的高度,我在开始时用一个全局变量设置了这个高度。计时器只是为了在设置变量之前确保所有内容都已完全加载。185是一个额外的数量的像素我需要的,因为标题有那个高度 它正在工作,但没有按正确的顺序滚动 第一次html加载 <div class="loadedList"> --- First time we save its height+header

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

它正在工作,但没有按正确的顺序滚动

第一次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;
}

这就是成功的原因

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

您可以从删除+=和px开始,这是不需要的。好的,谢谢,但如何滚动到pos值?您不需要向下滚动新内容的高度,只需向下滚动到现有内容底部标题高度+现有内容高度。这不是我正在做的吗?我看不到插入新内容的位置和时间,你最好添加一些虚拟html。您应该在进行上述计算后插入html。