5

我有一些代码可以使 div 的背景颜色变淡。该代码目前正在按照我想要的方式工作,但我想用一个变量替换它的一部分,这样我就可以更改它将影响哪些 div。它正在影响的 div 的 id 为“one”,但是当我尝试将其设为变量的值并将变量粘贴到放置的代码中时,它不再起作用了。有没有不同的方法可以让它发挥作用?这是代码:

var temp2 = "one";
$(document).ready(function () {
    $("#temp2").click(function () {
        $("#temp2").animate({
            "opacity": "0.15"
        }, "slow");
    });
});
4

1 回答 1

7

你很接近......试试这个。

var temp2 = "#one";
$(document).ready(function () {
    $(temp2).click(function () {
        $(this).animate({
            opacity: '0.15'
        },
            "slow");
    });
});

这是一个工作示例

或者,您可以只使用一个类而忘记变量。

$(document).ready(function () {
    $('.animateMe').click(function () {
        $(this).animate({
            opacity: '0.15'
        },
            "slow");
    });
});

请参阅此工作示例

此外,如果您希望相同的处理程序在多个元素上运行,您可以创建一个“id”数组

var arr = ["one", "two", "three", "four", "five"];
$(document).ready(function () {
    // loop through the array
    jQuery.each(arr, function () {
        // create a local variable
        var id = '#' + this;
        $(id).click(function () {
            $(id).animate({
                opacity: '0.15'
            },
                "slow");
        });
    });
});

这是一个工作示例

于 2013-04-27T02:22:33.507 回答