-1

これは私が持っているコードです。関数が呼び出されるたびに変数 sfrom の値をインクリメントしたいのですが、誰かがページの一番下までスクロールすると関数がトリガーされます。

アイデアはありますか?

<script type="text/javascript">

if (typeof sfrom=="undefined") {
    var sfrom = 0;}
$(function(){

    $('.tainer').scrollPagination(
    {
        'contentPage': 'listitem.php', 
        'contentData': {startfrom:sfrom},  
        'scrollTarget': $(window), 
        'heightOffset': 5, 
        'beforeLoad': function(){

        },
        'afterLoad': function(elementsLoaded){ 
             var i = 0;
             $(elementsLoaded).fadeInWithDelay();

        }
    });   
});

4

2 に答える 2

2

編集:スコープ外であることについてのメモを削除しました-javascriptのスコープルールを認識していませんでした-興味のある人のためのメモ:https ://stackoverflow.com/a/61173/117215 。

ただし、これは引き続き適用されます。

これができない理由はありますか?

var sfrom = 0;

$(function(){

    $('.tainer').scrollPagination(
    {
        'contentPage': 'listitem.php', 
        'contentData': {startfrom:sfrom},  
        'scrollTarget': $(window), 
        'heightOffset': 5, 
        'beforeLoad': function(){

        },
        'afterLoad': function(elementsLoaded){ 
             var i = 0;
             $(elementsLoaded).fadeInWithDelay();
             sfrom++;
        }
    });   
});
于 2012-08-10T09:45:35.833 に答える
0

この場合、ContentData は静的です。変数を挿入する代わりに、この回答のような関数を挿入しますhttps://stackoverflow.com/a/8581440/96593またはこれに似たもの

var sfrom = 0;

$(function(){

$('.tainer').scrollPagination(
{
    'contentPage': 'listitem.php', 
    'contentData': {startfrom:function() {return sfrom++;}},
    'scrollTarget': $(window), 
    'heightOffset': 5, 
    'beforeLoad': function(){

    },
    'afterLoad': function(elementsLoaded){ 
         var i = 0;
         $(elementsLoaded).fadeInWithDelay();
         sfrom++;
    }
});   

});

于 2012-11-06T00:29:00.883 に答える