全局变量在jQuery中给出“undefined”

时间:2013-08-24 09:40:21

标签: javascript jquery global-variables

我需要在单击两个不同<img>时执行的函数。我必须在它们之间传递一个变量。

摆脱不相关的代码,我看起来像这样:

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

2 个答案:

答案 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,然后它会根据{{1}提醒结果你做了。

答案 1 :(得分:1)

更改

window.size

size

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

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