javascript - 如何使用 var 名称调用函数?

标签 javascript function variables var

我有一个 div 需要移动到特定位置,具体取决于单击的下拉 div。我为每一个都做了一个函数。函数名称与下拉 div id +“箭头”相对应。然后我创建了一个 var,它获取了单击的下拉 div 的 id 名称并添加了单词箭头,这样它将与函数名称匹配。当我尝试使用 var 来调用该函数时,它不起作用。

 var arrowName = $(this).attr('id') + "Arrow()";

    function btn1s1Arrow() {$( "#greenArrow" ).animate({top: "203px", left: "291px"}, "normal" );}
    function btn1s2Arrow() {$( "#greenArrow" ).animate({top: "345px", left: "381px"}, "normal" );}
    function btn1s3Arrow() {$( "#greenArrow" ).animate({top: "444px", left: "391px"}, "normal" );}

   //////dont mind this $("#qwrapper .accordionContent2").slideUp('normal'); 
   ////////dont mind this $(this).next().slideDown('normal');

    arrowName();

帮助将不胜感激。提前感谢...我很困惑

这是部分代码,所以我说的实际上是有道理的 http://jsfiddle.net/vrs9j/1/

最佳答案

好吧,没有必要这样做,你可以这样做:

var arrowName = $(this).attr('id');

var animProps = {
    btn1s1: [203, 291],
    btn1s2: [345, 381],
    btn1s3: [444, 391]
};

var animProp = animProps[arrowName];
$("#greenArrow").animate({top: animProp[0], left: animProp[1]}, "normal");

关于javascript - 如何使用 var 名称调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18175193/

相关文章:

javascript - JQuery UI 自动完成组合框突出显示

java - 如何将相似的 Java 函数合并为一个(在 C++ 中我会使用模板)

variables - 在脚本 block 中引用变量

javascript - 从 redux-simple-router children 访问 redux store

javascript - 单击重新加载脚本

javascript - ParseReact.Mixin 如何监听 this.data 的更改?

c++ - 使用除法技术求数组的最大公约数

javascript - 在javascript函数中返回具有十进制值的数组

c++ - if (cin >> x) - 你为什么可以使用那个条件?

javascript - 在 querySelectorAll() 中插入变量不起作用