Quelqu'un trouve-t-il un code qui ne déclenche l'événement lorsque la souris entrer dans l'élément pendant un certain temps? mais ne se déclenche pas l'événement si seulement vol stationnaire ou passé à travers l'élément rapidement ..mootool délai d'événement sur le calendrier spécifié
0
A
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
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/
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
'foo' est une fonction vous quoi appeler au cas où le curseur est sur l'élément pendant 5 secondes – fantactuka