2012-06-23 69 views
0

這裏的值是摘自我的大JavaScript文件:我想JavaScript通過可變公共

function dashboardConfig() 
{ 
    $(window).on('resize', function() { 

     var viewport = { 
      width : $(this).width(), 
      height : $(this).height() 
     }; 

     el.siteContainer.css(
     { 
      marginTop : (viewport.height - 652)/2 
     }); 

     el.dashboardSlide.css(
     { 
      marginLeft : (viewport.width - 1024)/2, 
      marginRight : (viewport.width - 1024)/2 
     }); 

     //Calculate how many nav elements 
     el.navElements.each(function(i) 
     {   
      el.dashboard.css(
      { 
       width : viewport.width * (i + 1) 
      }); 

      $(this).click(function() 
      { 
       //HERE IS THE VARIABLE I WOULD LIKE TO USE 
       var dashboardSlidePosition = viewport.width * i; 

       el.navElements.removeClass('active'); 
       $(this).addClass('active'); 

       el.dashboard.animate(
       { 
        left : -dashboardSlidePosition 
       },500, function() 
       { 
        el.dashboard.css(
        { 
         left : -dashboardSlidePosition 
        }); 
       }); 
      }); 
     }); 

     //I WANT TO PERFORM ANOTHER FUNCTION HERE AND HAVE IT USE THE VALUE OF dashboardSlidePosition 


    }).trigger('resize'); 
} 

知道我怎麼能傳遞變量,dashboardSlidePosition的價值,另一種功能。請任何人都可以解釋一下?

非常感謝提前。

+0

在更高的範圍內聲明它。 – elclanrs

回答

1

您可以在作用域的外邊緣聲明它。確保給它一個初始值,以便在正確設置之前不要嘗試使用它。

function dashboardConfig() 
{ 
    var dashboardSlidePosition = null; 

    function anotherFunction() { 
     if (dashboardSlidePosition != null) { 
      // ... 
     } 
    } 

    $(this).click(function() 
    { 
     dashboardSlidePosition = viewport.width * i; 
    } 
} 
+0

dbaseman非常感謝您的回覆 – mtwallet

1

放入適當範圍:

function dashboardConfig() 
{ 
    var dashboardSlidePosition = 0; 

接下來,重新定義時,它刪除var

現在你可以使用它,因爲它在功能的範圍內。

+0

Blender非常感謝您的回覆 – mtwallet