【问题标题】:How can I make another div scroll to my current div on click如何在点击时让另一个 div 滚动到我当前的 div
【发布时间】:2013-11-25 10:47:19
【问题描述】:

将一列图像彼此放在一起。我在该列的右侧还有一个 div,其中有几个注释(基本上是段落)。当您单击每个图像时,会出现一组新注释。理想情况下,当您向下滚动页面并单击每个图像时,我希望右侧的 div 向下滚动并与单击的每个图像匹配。我写了一个函数,但我只能让整个页面滚动到顶部,但我需要的是相反的。我正在使用 scrollTop: 这导致了我认为的问题,但没有 scrollTo 功能?这是我的代码。

HTML

<div id='main'>
 ...content...
</div>

 <div id='rightnav'>
 ...content...
 </div>

jQuery

$('html, #rightnav').animate({
     scrollTop: $($current_image).offset().top
}, 2000);

【问题讨论】:

    标签: jquery html scroll


    【解决方案1】:

    您只需将.animate() 应用于导航DIV 本身。并且只为“顶部”样式设置动画。 例如这段代码:

    $('#main img').click(function() {
    
        $('#rightnav').animate({top: $(this).offset().top}, 2000)
    
    })
    

    会将 ID = "rightnav" 的 DIV 带到与在 "main" DIV 内单击的图像相同的顶部坐标。

    演示:http://jsfiddle.net/vSfP9/1/

    【讨论】:

    • Yurly 谢谢你的回答。我希望今天晚些时候对其进行测试,但从您的演示来看,它似乎正是我想要的。一旦我尝试过,我会选择正确的答案,再次感谢。
    • 嘿,我尝试实现此代码,但没有任何反应。我也没有收到控制台错误,并且我已经放置了一个 console.log 并且它肯定会触发,所以我不确定问题是什么。我通常会说它与逻辑有关,但你的小提琴证明它有效。有什么建议吗?
    • 确保您的 jQuery 选择器选择正确(id、类、元素)。很可能 jQuery 没有找到需要的项目。如果问题仍然存在 - 您可以发布(可能是缩写)有问题的真实 HTML 标记吗?
    • 问题在于我的 CSS 没有明确设置为#rightnav 的位置。感谢您的帮助!
    • 很高兴它终于为你工作了 :) 这是一个有趣的项目
    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 2015-12-22
    • 2021-03-16
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2014-02-17
    相关资源
    最近更新 更多