2013-08-24 50 views
1

我必須在點擊兩個不同<img>時執行的函數。我必須在他們之間傳達一個變量。全局變量在jQuery中給出「undefined」

擺脫無關的代碼,我有什麼看起來像這樣:

var size=0; 

    $('#gallery img').click(function(){ 

     window.size = $('#lightbox img').attr('data-size'); 

    }); 


    $('#lightbox i').click(function(){ 

       var dest=window.size-1; 
    }); 

但是,當我去JavaScript控制檯,然後輸入size,我得到undefined

+0

顯示您的標記 –

回答

2

更換

window.size 

隨着

size 

,因爲它的JavaScript自定義變量不是一個窗口對象屬性

編輯

var size=0; 

$('#gallery img').click(function() 
{ 
    size = $('#lightbox img').attr('data-size'); 
}); 

$('#lightbox i').click(function() 
{ 
    var dest = size-1; 
    alert(dest); 
    alert(size); 
}); 

上面的代碼會提醒0-1如果你第一次點擊#ligtbox i現在,如果你第一次點擊#gallery img然後它會根據你click作出警告的結果。

+0

我仍然得到'undefined'。 – sodiumnitrate

+0

@sodiumnitrate請參閱編輯.. –

+0

*「自定義變量不是窗口對象屬性」*如果它是全局變量,則它是「窗口」的屬性。 –

1

變化

window.size 

size 

$('#lightbox img').attr('data-size');

$('#lightbox img').data('size');