【问题标题】:On click scroll inside div在 div 内点击滚动
【发布时间】:2017-08-01 14:54:09
【问题描述】:

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

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

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

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

Updated jsFiddle

抱歉英语不好。

【问题讨论】:

  • 据我所知,您的逻辑是让 .wrap 元素滚动到顶部。您需要专注于使.second 元素滚动到.wrap 内的顶部。
  • 让我知道你想要这样:-jsfiddle.net/6k6av5s2(动画发生后检查所有类的 css)。如果是,那么我会将其发布为答案
  • @AlivetoDie,这不是我想做的事
  • 这样吗? jsfiddle.net/q1qxuekm
  • @ManuelOtto, YEEEESSSSS !!!)) 非常感谢!!请将其发布为答案,请

标签: javascript jquery html


【解决方案1】:

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

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

jsfiddle

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    相关资源
    最近更新 更多