如何简化以下功能?

我有一堆具有基本相同的easy属性的补间。
我知道这个问题范围很广,但是我还没有提出令人满意的建议。

    $('input').change(function() {
    if($("#radio").is(":checked")){

        var tween = new TWEEN.Tween(tween1.scale).to({ y: 4 }, 1000).start();
        tween.easing(TWEEN.Easing.Elastic.InOut);
        tween.yoyo(true);

        var tween = new TWEEN.Tween(tween2.position).to({ y: 0.05 }, 1000).start();
        tween.easing(TWEEN.Easing.Elastic.InOut);
        tween.yoyo(true);

        var tween = new TWEEN.Tween(tween3.scale).to({ y: 6 }, 1000).start();
        tween.easing(TWEEN.Easing.Elastic.InOut);
        tween.yoyo(true);

        ...

 }
 });

最佳答案

最经典的方法是声明一个函数:

function doTween(attr, y) {
    var tween = new TWEEN.Tween(attr).to({ y: y }, 1000).start();
    tween.easing(TWEEN.Easing.Elastic.InOut);
    tween.yoyo(true);
}


并使用

doTween( tween1.scale, 4 );
doTween( tween2.position, 0.05 );
doTween( tween3.scale, 6 );

关于javascript - 具有相似特性的简单功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33510149/

10-11 06:15