4

PhoneGap で将来使用するための jQuery Mobile サイトを構築しているため、すべてのコンテンツはリモートの PHP/MySQL からデータを取得する AJAX を介して読み込まれます。

ホームページでは、最初に最初の 10 ニュースだけを読み込みます。次に、「More...」ボタンを使用して、次の 10 件をロードし、すべてのレコードがデータベースから取得されるまで続けます。

http://www.media-italia.eu/app/index2.html

ニュースをクリックして「戻る」ボタンで戻ると、初期状態 (最初の 10 項目が読み込まれます) に戻ります。大丈夫です、ここまでは順調です

ここで、注意が必要な部分があります。ページに「無限スクロール」が必要なため、jQuery Waypointsプラグインを利用しました。結果は次のとおりです。

http://www.media-italia.eu/app/index.html

すべて問題ないように見えますが、ここで奇妙なことが起こります (コンソールを開いて確認してください)
ニュースをクリックしてから戻ってスクロールすると、PHP ページが 2 回呼び出され、項目が重複します。

いくつかのことを試しました (.on() の前に .off() を使用するなど) が、まったくうまくいき
ません。何が問題なのか本当にわかりません。助けてください。

ダウンロード可能なスクリプトも用意しました: http://www.media-italia.eu/app/app.rar

前もって感謝します!!!

4

1 に答える 1

1

解決策はプラグインの作成者からのものでした。ウェイポイントを破棄して再作成する必要があったため、次のようになりました。

$('#home .content').waypoint(function(direction) {
    if (direction === 'down'){
        $('#next').trigger('click');
    }
}, { offset: 'bottom-in-view' });

これに変わります:

$('#home .content').waypoint('destroy');
$('#home .content').waypoint(function(direction) {
    if (direction === 'down'){
        $('#next').trigger('click');
    }
}, { offset: 'bottom-in-view' });
于 2013-03-23T12:48:20.317 に答える