4

Drupalサイトを持っていますが、ホームページはすべてのサイトコンテンツのビューです。ページ付けされており、MasonryおよびInfiniteScrolljQueryプラグインを使用しています。

最初のページは正常に読み込まれ、下にスクロールすると正常に機能しているように見えます。ただし、実際にはコンテンツの2ページ目(ポケットベルリンクの2ページ目)をスキップしています。そして、私はその理由を理解できないようです。

ページが最初に読み込まれるときにスクロールしない場合は、ページネーションにカーソルを合わせると、各リンクが指すURLを確認できます。私がfirebugでサイトを実行すると、AJAXは実際にページネーションの3ページ目となるものを最初のページとしてロードし、2ページ目をスキップします。

こちらのページをご覧くださいhttp://ninja.oncommunication.ca/

Drupalがページ付けの0ページから始まっているからですか?Infinte Scrollプラグインは「次の」リンクからURLを読み取るだけだと思いますが、そのリンクがPage = 1(ページネーションの2番目のページ)を指しているため、明らかにそうではありませんが、スクロールすると下にある場合、ロードされる最初のページはPage = 2(ページネーションの3番目のページ)です。

何か助けは?

4

2 に答える 2

1

以前にも同様の問題がありました。次のように、infinatescroll を初期化するときに currentPage オプションを設定してみてください。

必要なのはそれだけですcurrPage: 1が、オプションとその他のオプションのサブセットが混乱する傾向があるため、オプションの完全なセットを含めました。

この数字も試してみてください。おそらく 0 または 2 でうまくいくでしょうか? 基本的に、次のリンクに基づいてそれを完全に把握できない場合があるため、開始しているページを infinateScroll に伝えています。

    // initialize scroller
    $('.infinateScroll').find('ul:first').infinitescroll({

        // setup scroller options
        navSelector  : ".pager",            
        nextSelector : ".pager > li.next > a",    
        itemSelector : ".infinateScrollItem",
        debug        : false,
        animate         : false,
        loading: {
            finished: function() {},
            finishedMsg: "<p>No More to Load!</p>",
            msg: null,
            msgText: "<p>Loading&hellip;</p>",
            selector: null,
            speed: 'fast',
            start: undefined
        },
        state: {
            isDuringAjax: false,
            isInvalidPage: false,
            isDestroyed: false,
            isDone: false, // For when it goes all the way through the archive.
            isPaused: false,
            currPage: 1
        },
        bufferPx: 300 // ideal setting 300     

    }
于 2012-10-23T22:06:44.373 に答える
0

同じためにView Infinite Scrollモジュールを使用することを検討しましたか?

于 2012-12-19T21:56:39.410 に答える