从外部函数获取参数名称

时间:2013-11-30 16:31:54

标签: javascript jquery

如何从外部函数获取参数名称。 例如:

    function get_direction(value, site){
       //return "left", "right", "up" or"down"
    }

    $("#item").animate({ get_direction(1,2) : 1000 });

我希望执行类似的内容:

$("#item").animate({ left : 1000 });

4 个答案:

答案 0 :(得分:1)

你可以尝试这样的事情:

function get_direction(value, site){
  //return "left", "right", "up" or"down"
}

var opts = {};

opts[get_direction(1,2)] = 1000;

$("#item").animate(opts);

答案 1 :(得分:1)

你可以这样做:

function get_direction(value, site){
   //return "left", "right", "up" or"down"
}

var obj = {};
obj[get_direction(1,2)] = 1000;

$("#item").animate(obj);

答案 2 :(得分:0)

你想要的,就像你写的那样,是不可能的。你想要在animate周围使用一个包装器,然后使用它。

function animateObject(item, direction, value) {
    item.animate({ direction: value });
    return direction;
}

animateObject($("#item"), 'left', 1000);

答案 3 :(得分:0)

你可以使用返回对象的函数

 $("#item").animate(function(dir,val){
                        var obj={};
                        obj[dir] = val;
                        return obj;
                   }(get_direction(1,2), 1000));

你也可以像这样使用srting和json解析

$("#item").animate(JSON.parse('{"'+get_direction(1,2)+'":"'+1000+'"}'));