Jquery按变量

时间:2016-02-03 08:16:23

标签: javascript jquery

假设我有以下功能

function slide(element, direction, hide){
    if (direction == "left") {
        $(element).animate({
            "left": 500,
        }, 500, function(){
            if(hide) {
                $(element).css("display", "none");
            }
        });
    } else {
        $(element).animate({
            "right": 500,
        }, 500, function(){
            if(hide) {
                $(element).css("display", "none");
            }
        });
    }
}

它本身很有效。但我想消除If else术语以获得类似的东西

function slide(element, direction, hide){
    $(element).animate({
        direction : 500,
    }, 500, function(){
        if(hide) {
            $(element).css("display", "none");
        }
    });
}

哪个根本不起作用...有没有办法在动画函数中按变量控制左/右?

1 个答案:

答案 0 :(得分:1)

使用方向自己创建一个对象,然后在动画函数中使用它,如下所示。

function slide(element, direction, hide) {
    var obj = {};
    obj[direction] = 500;

    $(element).animate(obj, 500, function () {
        if (hide) {
            $(element).css("display", "none");
        }
    });
}