2010-09-02 5 views

Répondre

0
var timer = null; 
element.addEvents({ 
    mouseenter: function() { 
    timer = setTimeout(foo, 5000); 
    }, 

    mouseleave: function() { 
    clearTimeout(timer); 
    } 

}); 

Alors foo sera appelée que si le curseur est sur l'élément pendant 5 secondes

+0

je peux travailler autour du code deviennent comme ça? mais je ne sais pas wat remplacer par le foo .. this.menu.addEvents ({ mouseenter: function (event) { \t \t timer = setTimeout (foo, 5000); obj.remain = []; obj.removeRemain (10) }, mouseleave: function (event) { \t \t clearTimeout (timer); obj.remain.each (function (item) { item.addClass (obj.options.remainClass) }); obj.removeRemain (obj.options.remainTime) } }); – redcoder

+0

'foo' est une fonction vous quoi appeler au cas où le curseur est sur l'élément pendant 5 secondes – fantactuka

1

Utilisation setTimeout, ce n'est pas la façon MooTools . Ce que vous devez utiliser est les méthodes de cadre:

var theDiv = $$('div')[0]; 
var foo = function(){ 
    theDiv.highlight(); 
}; 
var timer; 

theDiv.addEvents({ 
    mouseenter: function() { 
     timer = foo.delay(1000); 
    }, 

    mouseleave: function() { 
     $clear(timer); 
    } 
});​ 

Voir un exemple de travail : http://www.jsfiddle.net/oskar/SZsNT/

Questions connexes