2013-08-24 52 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');