Mootools变形使用变量

时间:2015-02-11 21:34:41

标签: javascript mootools

我为我的网站创建了一个接受多个参数的javascript函数,然后使用所述参数执行变形。相反,正常的东西,但变形不起作用。似乎通过获取css属性我想变形(即height)作为变量,我正在窃听。

正在使用的基本代码:



window.addEvent('load', function() {
    var box = $('box');
    var sfx = new Fx.Morph(box, {
        duration: 1000,
        transition: Fx.Transitions.linear
    });
    
    var cssParam = 'height';
    var endVal = '100';
    
    sfx.start({cssParam endVal});
    console.log(sfx);
});

#box {
    width:200px;
    height:200px;
    background-color: #FFFFFF;
    border: 1px solid #000000;
}

<div id="box"></div>
&#13;
&#13;
&#13;

变形实际上是变量cssParam,并试图将cssParam变为100.显然我这样做错了,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:3)

ER

这不是ES6 / 7 - 你还不能在JavaScript对象文字中使用动态对象成员。

这:sfx.start({cssParam endVal});错了。

重写为:

var morphObject = {};
morphObject[cssParam] = endVal;
sfx.start(morphObject);
在ES6中,您将拥有:

var obj = {
    ['foo' + Date.now()]: 42,
    [cssParam]: endVal
};

在现代浏览器中,上面会很好(适用于FF和Chrome最新版)