javascript - 点击div内滚动

标签 javascript jquery html

我有一个包装 block (如侧边栏),里面有较小的 block 。我想让较小的 block 在单击时滚动到包装 block 的顶部(它看起来像一个标题)。

我已经尝试了很多东西但没有任何效果,我只是无法理解它必须如何工作的逻辑。

$(".second").click(function() {
  $('.wrap').animate({
      scrollTop: $(".second").offset().top
    }, 'slow');
});

更新:我想我对问题的解释有误。也许这样:想象一长串联系人,当您单击某个联系人时,所有内容都会滚动,直到该联系人位于可见区域的顶部。

Updated jsFiddle

抱歉英语不好。

最佳答案

您需要确定元素在可滚动 div 中的位置并将其添加到当前 scrollTop 值:

scrollTop: $(e.currentTarget).position().top + $('.wrap').scrollTop()

jsfiddle

关于javascript - 点击div内滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441199/

相关文章:

javascript - 将鼠标悬停在 div 上时无法调整输入

javascript - jQuery,如何选择动态生成的html元素

jquery - Typescript 运行时类型测试

html - 没有应用样式或 br 元素。为什么它垂直对齐

HTML:盒子模型和对齐

javascript - Bootstrap 轮播控制链接生成错误

asp.net - 如何防止用户拥有同一 Web 应用程序的多个实例

javascript - 使用 angularjs 过滤器和 _.groupBy

javascript - 将 URL 路径与 <a> attr ('href' 匹配)以动态更新 .active 类

html - css::-webkit-scrollbar-thumb 不能改变比例(渐变色)