2012-08-10 72 views
-1

這是我的代碼,我想每次調用函數時都會增加變量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

回答

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++; 
     } 
    }); 
}); 
+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

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++; 
    } 
}); 

});

相關問題