Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态jQuery效果_Javascript_Jquery - Fatal编程技术网

Javascript 动态jQuery效果

Javascript 动态jQuery效果,javascript,jquery,Javascript,Jquery,想知道Javascript中是否有一种通过字符串调用函数/方法名的方法 场景,编写一点jQuery,对目标运行影响。我想让这个效果变得动态(可由用户更改) 我想,理想情况下,我会寻找类似jQuery('target').Effect('slideDown','slow') 或者任何可以产生相同结果的语句,而不必使用一些傲慢的开关语句,例如Switch(vEffect){case'slideDown:jQuery().slideDown();break;}在我看来似乎是多余的…您可以使用属性语法引

想知道Javascript中是否有一种通过字符串调用函数/方法名的方法

场景,编写一点jQuery,对目标运行影响。我想让这个效果变得动态(可由用户更改)

我想,理想情况下,我会寻找类似
jQuery('target').Effect('slideDown','slow')


或者任何可以产生相同结果的语句,而不必使用一些傲慢的开关语句,例如
Switch(vEffect){case'slideDown:jQuery().slideDown();break;}
在我看来似乎是多余的…

您可以使用属性语法引用一个方法:

jQuery('target')['slideDown']('slow');
或者,如果变量中有:

var methodName = 'slideDown';
jQuery('target')[methodName]('slow');
您还可以创建自己的jQuery插件,名为
effect
,该插件接受您想要的参数,然后使用上述技术调用实际方法

jQuery.fn.effect = function(methodName, speed) {
    return this[methodName](speed);
}
你可以这样称呼它:

jQuery('target').effect('slideDown', 'slow);

可以使用属性语法引用方法:

jQuery('target')['slideDown']('slow');
或者,如果变量中有:

var methodName = 'slideDown';
jQuery('target')[methodName]('slow');
您还可以创建自己的jQuery插件,名为
effect
,该插件接受您想要的参数,然后使用上述技术调用实际方法

jQuery.fn.effect = function(methodName, speed) {
    return this[methodName](speed);
}
你可以这样称呼它:

jQuery('target').effect('slideDown', 'slow);

明亮的正是我想要的。感谢jQuery插件的想法,这就是问题的根源(我正在编写这个插件)。不经意间,这会被称为什么(如果我以后必须查找或引用)?@thesocialhacker-搜索这个“通过变量访问javascript属性”。太棒了。正是我想要的。感谢jQuery插件的想法,这就是问题的根源(我正在编写这个插件)。不经意间,这将被称为什么(如果我以后必须查找或引用)?@thesocialhacker-搜索这个“javascript属性变量访问”。