滚动到相对于被点击元素的顶部

Scroll to the top relative to clicked element

我有一个 div 的列表,我希望当我单击其中一个时,页面会滚动,直到被单击的元素位于视图的顶部。 我的代码:http://jsfiddle.net/rcxnogmx/

js代码:

$(document).ready(function (){
    $("#click").click(function (){
        $('html, body').scrollTop( $(this).offset().top );
    });
});

我试过 scrollTop -> 这个,但它不起作用

您可以在没有 javascript 的情况下完成此操作。标准 HTML 锚点允许您将具有特定 id 的元素滚动到顶部。滚动的元素可以是锚点本身:

<a id="this-anchor" href="#this-anchor">jump here</a>

检查这个 link

http://jsfiddle.net/rcxnogmx/2/

$(document).ready(function (){
    $("div").click(function (){
        $('html, body').scrollTop( $(this).offset().top );
    });
});

试试这个..

是的,每个元素的 id 应该是唯一的。

您可以通过 class 而不是通过 ID。 您可以将 class 命名为 DIV "scrolling"。

具有 "scrolling" class 单击事件滚动到其顶部偏移量的元素

$(document).ready(function (){
    $(".scrolling").click(function (){
        $('html, body').scrollTop( $(this).offset().top );
    });
});

Demo

您的html中不存在'click' ID。