DOJO base / Fx没有animateProperty方法

时间:2014-02-27 11:10:15

标签: javascript dojo jsfiddle

如果元素使用dojo / _base / fx animateProperty(),我正在尝试为透明度更改设置动画。但是我在控制台上遇到错误* * em> Uncaught TypeError:Object#没有方法'animateProperty'* 。无法弄清楚代码有什么问题。这是我为此创造的小提琴。

http://jsfiddle.net/kLMZC/2/

发布代码段:

require(["dojo/fx", "dojox/fx/scroll", "dojo/dom", "dojo/dom-style", "dojo/on", "dojo/domReady!","dojo/window","dojo/dom-geometry","dojo/dom-style", "dojo/_base/fx"],
    function(coreFx, easing, dom, style, on, win, domGeometry, fx){
        on(dom.byId("contactFormButton1"), "click", function(){
            //dojo.byId('screen1').style.opacity = '0.5';
            fx.animateProperty({
                 node: dom.byId("screen1"), duration: 5000,
                 properties: {
                 opacity: { start: '1', end: '0.5' }
                 }
            }).play();


            style.set("screen2", "display", "block");
            dojo.byId('contactFormButton1').style.display = 'none';
            dojox.fx.smoothScroll({
                node: dojo.byId('screen2'),
                win: window
            }).play();
        });
    });

1 个答案:

答案 0 :(得分:0)

require([
    "dojo/fx", "dojox/fx/scroll",
    "dojo/dom", "dojo/dom-style", "dojo/on", "dojo/domReady!",
    "dojo/window", "dojo/dom-geometry", "dojo/_base/fx"
], function (coreFx, easing, dom, style, on, ready, win, domGeometry, fx) {
    on(dom.byId("contactFormButton1"), "click", function () {
        //dojo.byId('screen1').style.opacity = '0.5';
        fx.animateProperty({
            node: dom.byId("screen1"),
            duration: 5000,
            properties: {
                 opacity: {
                     start: '1',
                     end: '0.5'
                 }
             }
         }).play();

        dojo.byId('contactFormButton1').style.display = 'none';

    });
});

问题是require和函数参数之间不匹配。您忘记了ready作为参数。

http://jsfiddle.net/kLMZC/2/

相关问题