【问题标题】:Scroll a scrollable div to its top programatically以编程方式将可滚动的 div 滚动到其顶部
【发布时间】:2013-09-16 02:49:21
【问题描述】:

我有一个固定高度的可滚动 div 和一个长列表。当我用长列表向下滚动时,我想滚动到可滚动 div 的顶部。我应该如何开始。

我试图找到任何答案,但都提到使用 scrollTop 或 offset,但我就是无法让它工作。我在可滚动的 div 上尝试了 scrollTop,但它总是未定义

我正在使用 JQuery-mobile。

我有以下设置

<div id="scrollable">
  <div id="inner">
    <div id="content_wrapper">
       <div>...</div>
       <div>...</div>
       ...
    </div>
  </div>
<div>

scrollable 是可滚动的容器,overflow-y 作用于该容器。

我试过了

$('#scrollable').scrollTop(fixedvalue);
$('#scrollable').scrollTop($('$scrollable').offset());
$('#scrollable').scrollTop($('firstdivelement').offset());
$('#scrollable').scrollTop($('firstdivelement').position().top);

我不太擅长javascript。

【问题讨论】:

  • 在问题中包含您尝试过的内容。
  • 在 JQM 中,使用 $.mobile.silentScroll()stackoverflow.com/questions/18338996/…
  • 为什么不只是.scrollTop(0)
  • 真正需要滚动的是哪个元素?它应该是包含大小总和大于父元素的元素的父元素。在这种情况下,我猜应该是#content_wrapper 而不是#scrollable。另外,我同意滚动到顶部应该是.scrollTop(0)。接受的值是距可滚动元素的 top 的偏移量。

标签: javascript jquery jquery-mobile


【解决方案1】:

滚动到页面顶部body

$('html, body').animate({ scrollTop: (0) }, 'slow');


div 上滚动到顶部:

$('#yourDivId').animate({ scrollTop: (0) }, 'slow');

希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 2018-11-22
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多