mouseenter` 2秒后如何获得morpha.start()?

问题描述 投票:0回答:1

Mootools:在2sec morpha.start()之后如何获取mouseenter

window.addEvent('domready',function() {
var morph = new Fx.Morph('resize',{duration:700,delay:400});
$$('#resize').addEvent('mouseenter',function(e){
    e.stop();
    morpha.start({
        width: '200px',
        height: '100px'
    });
}//It does not work on adding ',2000' here
);

<div id="resize" class="resize">DIV will get bigger after 2sec on mouseenter</div>
javascript mootools mouseenter mootools-events
1个回答
1
投票

使用延迟。

http://www.jsfiddle.net/dimitar/m6JKt/示例

document.id('resize').set("morph", {duration:700,delay:400}).addEvents({
    mouseenter: function(){
        this.store("timer", (function() {
            this.morph({
                width: '200px',
                height: '100px'
            });
        }).delay(2000, this));
    },
    mouseleave: function() {
        $clear(this.retrieve("timer"));
    }
});

这也已重构为使用为您提供类实例的element.morph-如果在2秒开始时间宽限期内将鼠标移出,它将取消过渡。

© www.soinside.com 2019 - 2024. All rights reserved.