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

问题描述:

这是我的代码,我想每次调用函数时都会增加变量sfrom的值,当某个人滚动到页面底部时会触发该函数。每次调用jquery函数时都会增加变量

有什么想法吗?

<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(); 

     } 
    }); 
}); 

+0

声明全局变量并在函数内部增加它。值将继续上升,直到刷新页面。 – 2012-08-10 09:43:43

+1

每次调用什么函数都会增加'sfrom'? – jfriend00 2012-08-10 09:43:47

+3

'sfrom ++'.....? – undefined 2012-08-10 09:46:32

编辑:关于被淘汰的范围删除注 - 不知道的JavaScript的作用域规则 - 笔记这里感兴趣:https://*.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++; 
     } 
    }); 
}); 
+2

,并且在这种情况下不应该被覆盖,另一个解决方案将是'var sfrom = sfrom || 0' – 2012-08-10 09:46:45

+0

@DavidHedlund是啊!这将节省价值... – Vishal 2012-08-10 09:48:03

+0

这不是我的问题不幸的是:/。我试图在每次触发函数时增加变量sfrom,以显示下一个结果。 – cppit 2012-08-10 09:50:06

ContentData在这种情况下是静态的。而不是插入变量插入函数类似这样的答案https://*.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++; 
    } 
}); 

});