0

「skiper」というクラスを持つボタンを使用して、そのボタンをクリックすると、ウィンドウが次の見出し要素にスクロールされるようにします。毎回行きたいところに書く必要はありません。

これまでのところ、私は試しました:

$(document).ready(function () {
    $(".skiper").click(function () {
        $('body').scrollTop($(nextInDOM(this, $('h'))));
        event.preventDefault();
    });     
});  

そして、これは完全に間違っていると思います。

next-in-domscrollToの2 つのプラグインを使用しています。

4

2 に答える 2

1

次のように解決できます。

$(document).ready(function () {
    var body = $('body');
    var headings = $('h1');
    var current = 0;

    $(".skipper").click(function (event) {
        ++current;

        if (headings.length > current) {
            body.animate( { scrollTop: headings.eq(current).position().top }, 200);
        }

        event.preventDefault();
    });
});

デモを試す: http://jsfiddle.net/YqKTZ/

のセレクターをheadings必要に応じて調整できます。ただし、JavaScript は、ユーザーがボタンをクリックするたびに再クエリを実行する必要はありません。

于 2013-01-26T11:56:51.143 に答える
0

次のコードを使用します。

$(document).ready(function () {
    $(".skiper").click(function (event) {
        $('html, body').scrollTop($(this).nextInDOM($('h1, h2, h3, h4, h5, h6')).position().top);
        event.preventDefault();
    });     
});  

デモ| ソース

于 2013-01-26T11:57:25.663 に答える