【发布时间】:2012-07-08 04:18:24
【问题描述】:
我目前正在学习 javascript (jquery)。我正在构建一个插件来创建简单的手风琴菜单,但在创建动态变量时遇到了问题。
(function($){
jQuery.accordify = function(settings){
$defaults = {
section : null,
content : null,
animation: 'slide',
speed: 500
}
var defaults = $defaults;
var settings = $.extend(defaults, settings);
$animation = {
slide : {in : 'slideDown('+settings.speed+')', out: 'slideUp('+settings.speed+')'},
fade : {in: 'fadeIn('+settings.speed+')', out: 'fadeOut('+settings.speed+')'}
}
var animation = $animation.+settings.animation; // equvilent to 'animation.slide'
alert(animation.in); // should return 'slideUp(500)'
}
})(jQuery);
animation 变量试图引用 settings/defaults 数组中定义的 animation.slide 的等价物,我将如何让它工作,这样我就可以调用 animation.in 而不是 animation.slide.in?.
【问题讨论】: