jquery向上滚动而不是向下滚动

时间:2017-01-30 20:17:14

标签: jquery html jquery-animate scrolltop

<article>
  <aside>
    ...
    <div id="onlineformular">
        ...
    </div>
  </aside>
</article>

article
{
  overflow:auto;
  max-height:77vh;
  width:100%;
  background-color:white;
}

$('article').animate({scrollTop:$('#onlineformular').position().top}, 'slow');  

我只想向下滚动到div#onlineformular,但它会向上滚动。为什么? (仅显示片段)

谢谢。

3 个答案:

答案 0 :(得分:0)

根据您提供的代码,页面将根据div#onlineformular从页面顶部的位置滚动。

动画将动画从当前滚动位置滚动到顶部的新滚动位置,从顶部定义div#onlineformular。

答案 1 :(得分:0)

使用body选择器代替article

$('body').animate({scrollTop:$('#onlineformular').position().top}, 'slow');
.some_div{
  height: 1000px;
  background: #adadad;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='some_div'></div>
<article>
  <aside>
    ...
    <div id="onlineformular">
        ...
    </div>
    
  </aside>
</article>

答案 2 :(得分:0)

我用$('#onlineformular').ScrollTo();

解决了这个问题

很简单。