每次调用jquery函数时都会增加变量

时间:2012-08-10 09:41:20

标签: javascript jquery ajax

这是我的代码,我想在每次调用函数时增加变量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();

        }
    });   
});

2 个答案:

答案 0 :(得分: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++;
        }
    });   
});

答案 1 :(得分: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++;
    }
});   

});