2010-11-18 51 views
0

如何讓變量「theOffset」在「localScroll」函數內工作。這是我的非工作代碼:幫我使用javascript變量的範圍

jQuery(function($){ 
    //initialize variable "theOffset" 
    theOffset = 10; // <-- sets variable for inside of "localScroll" function 

     $(window).resize(function() { 
      theOffset = 20; // <-- does NOT reset inside "localScroll" function 
     }); // end of window resize 


    $.localScroll({ 
      target: '#content', 
      duration:1500, 
      hash:true, 
      offset: {top:0, left: theOffset}, // <-- I want to reset this on window resize 
      onBefore:function(e, anchor, $target){ 
      }, 
      onAfter:function(anchor, settings){ 
      } 
    }); 
}); 
+4

應該把'之前的任何變量,你不希望在全球範圍內var'。 – mpen 2010-11-18 22:38:22

+0

你可以編輯你現有的問題http://stackoverflow.com/questions/4219478/javascript-variable-not-working-why與新的細節,不需要在同一問題上開始新的問題。 – 2010-11-18 22:40:46

+0

aaahh。我仍然在學習stackoverflow的方法。 – Dave 2010-11-18 22:45:39

回答

1

幾個指針:

您創建對象與所有這些{}。雖然它可能看起來像簡單的功能,但它們不是。

偏移量爲對象的屬性被傳遞到$ .localScroll

一個想法是使(其被傳遞到$ .localScroll)對象$ .localScroll以外,將其設置爲一變量,並引用該變量。

不確定這是否會按原樣工作,可能不得不跳過箍或兩個仍然。

東西線沿線的:

var theOffset = { 
... 
offset: {top:0, left: whatever}, 
... 
}; 

$(window).resize(function() { 
theOffset.offset = 20; 
}); 

$.localScroll(theOffset);