使用JQuery动画滚动到div顶部

4

我有一个隐藏的div,.model-detail-panel,在点击.span后会显示。

$('[class*="span"]').on('click', function () {
        $(this).parent().next('.model-detail-panel').slideToggle()
    });

我想将.animate()方法应用到这段代码中,以便滚动屏幕,使显示的div顶部位于窗口顶部。
我该如何实现?
提前感谢您的帮助。
2个回答

15

你可以使用Position,像这样:

$("body, html").animate({
    scrollTop: $(".model-detail-panel").position().top
});

谢谢您的回复。不幸的是,这并没有起到任何作用。在你的代码中,.top 应该是 .model-detail-panel 的顶部吗? - webworker
是的,可以尝试使用console.log打印该值。 - Michele Bertoli
运行 console.log 会返回 window 对象。理想情况下,我希望 .model-detail-panel 成为结果? - webworker
尝试这个:console.log($(".model-detail-panel").position().top); - Michele Bertoli

4

稍微修改@michele-bertoli提出的代码为:

$('html, body').animate({scrollTop: $(".model-detail-panel").offset().top
            }, 500);

对我有用...

感谢那些发布的人...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接