0
var animations = {
    slide : {enter:'slideDown('+settings.speed+')', exit:'slideUp('+settings.speed+')'},
    fade : {enter:'fadeIn('+settings.speed+')', exit:'fadeOut('+settings.speed+')'}
};

現在、入口と出口のアニメーションが定義されているリテラルオブジェクトがあります。これらを動的に呼び出すことは可能でしょうか?

基本的に、コードをできるだけ小さくしながら、関数を動的に呼び出す方法を見つけようとしています。

4

1 に答える 1

0

次の構文を使用できます。$(obj)[action](htmlStr);

フィドル: http://jsfiddle.net/svvdw/

var settings = {
    speed: 'slow'
};

var animations = {
    slide : {enter:'slideDown', exit:'slideUp'},
    fade : {enter:'fadeIn', exit:'fadeOut'}
};

$("#test")[animations.fade.exit](settings.speed);

</p>

于 2012-07-09T04:11:37.593 に答える