获取变量的值

时间:2014-06-06 19:44:49

标签: javascript jquery html

for (var i = 1; i <= 3; i++)
{
    var tmpDiv = '#difdiv' + i;
    var tmpButton = '#difButton' + i;
    $(tmpDiv).css({
        position: "absolute",
        left: 0,
        top: $('#map').position().top - 16
    });
    $(tmpDiv).css('z-index', 3000);
    $(tmpDiv).css('width', '100%');

    $(tmpButton).hover(
        function () {
            $(tmpDiv).fadeIn(200);
        }, function () {
            $(tmpDiv).fadeOut(200);
        }
    );
}

我使用此循环将hover dif添加到可变数量的按钮。 当我使用这段代码时,每个jQuery-Element都会得到“'#difdiv'+ i”。最后,每个按钮都会逐渐消失。在这种情况下,difdiv3。 如何访问值给jQuery元素而不是变量?

1 个答案:

答案 0 :(得分:2)

问题是变量引用。简单的方法是获取循环内部的内容并将其填充到函数中并调用它。

function createButton(i) {
    var tmpDiv = '#difdiv' + i;
    var tmpButton = '#difButton' + i;
    $(tmpDiv).css({
        position: "absolute",
        left: 0,
        top: $('#map').position().top - 16
    });
    $(tmpDiv).css('z-index', 3000);
    $(tmpDiv).css('width', '100%');

    $(tmpButton).hover(
        function () {
            $(tmpDiv).stop().fadeIn(200);  //added stop
        }, function () {
            $(tmpDiv).stop().fadeOut(200); //added stop
        }
    );
}

for (var i = 1; i <= 3; i++) {
    createButton(i);
}