7

https://github.com/Prinzhorn/skrollrを使用して、スクロールするときにサイトの背景をアニメーション化しています。ただし、通常の単一ページのサイトのように、リンクがページを上下にスクロールするようにしたいと考えています。

問題は、ページが正しい場所にスクロールするリンクをクリックすると、背景の変更を手動でスクロールすると両方が機能することです。問題は、ボタンをクリックしても背景がスクロールしないことです。

私は2つの異なるスクロール機能を使用しているようで、その結果、それらは一緒に機能していないため、同じものを使用する必要があります.

これがコードです。

js - スクロールしてリンク:

var $root = $('html, body');
    $('a').click(function() {
        var href = $.attr(this, 'href');
        $root.animate({
            scrollTop: $(href).offset().top
        }, 500, function () {
            window.location.hash = href;
        });
        return false;
    });

js – スクローラー初期化

skrollr.init({
    smoothScrolling: true,
    forceHeight: true
}); 

より明確にするためにフィドルをまとめてみますが、うまくいけば答えは本当に簡単です。

4

2 に答える 2

9

他の誰かがこの問題に直面した場合、答えは彼女にあります: https://github.com/Prinzhorn/skrollr-menu

これにより、Skrollr アニメーションとともに内部リンクにスクロールできます。大きなプラスと非常に簡単な修正です。これだけで独自のスクロールコードは必要なく、リンクで機能します。

于 2013-09-11T22:54:11.730 に答える
1

これを行う方法があります。Skrollr には非常に便利なメソッドがいくつかあります。コンソールで、skrollr を含む変数を入力するだけで、使用できるメソッドがいくつか表示されます。そのうちの 1 つは「setScrollTop(int, bool)」です。このメソッドに必要な情報を指定します。たとえば、次のようになります。

s.setScrollTop(9000, 真)

つまり、高さの位置 9000 までスクロールする必要があります。問題なく動作します。移動する必要がある高さの位置を知る必要があるだけです。

于 2017-08-23T15:00:23.187 に答える