2012-01-10 7 views
3

私はを使用して無限の機能を提供していますが、プラグインのデフォルト設定は次のリンクのhref属性に依存して現在のページを検出し、次の結果セットをロードします。InfiniteScrollとカスタム動作

私はすでに自分のJavaScriptオブジェクトで結果のオフセットとページサイズを追跡していますが、infinitescrollプラグインがwindow.LoadMore関数を呼び出して次の結果を読み込むようにしたいのですが、プラグインコードを確認しました。

 opts.loading.start = opts.loading.start || function() { 

      $(opts.navSelector).hide(); 
      opts.loading.msg 
       .appendTo(opts.loading.selector) 
       .show(opts.loading.speed, function() { 
        beginAjax(opts); 
      }); 
     }; 

は、これをオーバーライドする正しい機能ですか、load.start関数(特にbeginAjax)をオーバーライドしますか?プラグインの初期化からどうすればいいですか?以下のコードは動作しません。

 ($('.deals-list'), this.el).infinitescroll({ 
      navSelector : "div.navigation", 
      nextSelector : "div.navigation a", 
      itemSelector : ".deal", 
      debug: true, 
      loading.start: function(){ 
       alert('testing'); 
      } 
     }); 

ありがとうございました。

Yehia

無限スクロール機能付き超おなじみ

答えて

0

ないので、私はそれがオーバーライドする正しい関数のかどうかについて話すことはできません。ちょっと一目瞭然だと言われます。

はこれを試してみてください:

($('.deals-list'), this.el).infinitescroll({ 
    navSelector : "div.navigation", 
    nextSelector : "div.navigation a", 
    itemSelector : ".deal", 
    debug: true, 
    loading: { 
     start: function(){ 
      alert('testing'); 
     } 
    } 

}); 
1

無限スクロールは、カスタム動作を提供します。特定の問題を解決するための新しい動作を作成するには、2つのことを行う必要があります。

$.extend($.infinitescroll.prototype, { 
    retrieve_custombehavior: function() { 
     $('#nav > a').click(); 
    } 
}); 

告知方法のサフィックス、_custombehavior

まず、infinitescrollのプロトタイプを拡張し、カスタムを定義するには、メソッドを取得します。これは、無限スクロール(つまり、アクションを決定するときに探すメソッドコレクション - この場合はretrieve_custombehavior)に渡す動作です。

、ページの最後に達するとこれはあなたのカスタム動作を実行するために、無限スクロール原因

$('.deals-list').infinitescroll({ 
    navSelector : "div.navigation", 
    nextSelector : "div.navigation a", 
    itemSelector : ".deal", 
    debug: true, 
    behavior: '_custombehavior' 
}); 

(および取得メソッドが呼び出されます):

第二に、無限スクロールのコンストラクタに行動サフィックスを渡します

0

カスタムソリューションがあります。私はそれ

(function($, undefined) { 
 
\t $.extend($.infinitescroll.prototype,{ 
 
\t \t _setup_loadOffers: function infscr_setup_loadOffers() { 
 
\t \t \t var opts = this.options, 
 
\t \t \t instance = this; 
 
\t \t \t // Bind nextSelector link to retrieve 
 
\t \t \t $('a.btn-seemore-offers').click(function(e) { 
 
\t \t \t \t instance.retrieve(); 
 
\t \t \t }); 
 
\t \t \t 
 
\t \t }, 
 
\t }); 
 
})(jQuery); 
 
$('#container').infinitescroll({behavior: 'loadOffers',})

を使用しています
関連する問題