Получить имя параметра из внешней функции

0

Как получить имя параметра из внешней функции. Пример:

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

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

и я хочу выполнить что-то вроде:

$("#item").animate({ left : 1000 });
  • 0
    Вы можете повторно выполнить функцию объекта, что вам нужно, или использовать анонимную функцию для этого
Теги:

4 ответа

1

вы можете сделать что-то вроде этого:

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

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

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

Вы можете попробовать что-то вроде этого:

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

var opts = {};

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

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

вы можете использовать функцию, возвращающую объект, что вы хотите

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

вы также можете использовать srting и json parse

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

То, что вы хотите, так, как вы его написали, невозможно. Вместо этого вы хотите использовать обертку вокруг анимации, а затем использовать ее.

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню