jQuery在每个选定的对象上触发函数

时间:2014-04-22 21:03:23

标签: javascript jquery

我试图在javascript / jquery中创建一个函数,为所选对象创建一个很酷的动画。问题是,当我添加更多对象时,它的行为非常奇怪。

我知道这是因为如果我也添加了4个对象,那么代码运行4次。如何更改此选项,以便在所有选定对象上只进行一次?

代码:

function showPress(name) {
    var top = "15";
    var bottom = "20";

    $(name).hide();

    $(name).show(150, function() {
        $(name).animate( {
            "margin-top": "+="+top+"px",
            "margin-left": "+="+bottom+"px"
        }, 150, function() {
            $(name).animate({
                "margin-top": "-="+top+"px",
                "margin-left": "-="+bottom+"px"
            });
        });
    });
}

showPress("h1");

TL; DR:这里发生了什么,我该如何解决? (我试过但失败了)

http://jsfiddle.net/LWRAj/

1 个答案:

答案 0 :(得分:6)

更改name的{​​{1}}的内部参考:

this

<强> JSFiddle