2011-01-03 5 views
0

i mit Fx.styles Wirkung ein div-Element habenmootool 1.1 von Ereignis zu stoppen, wenn ein anderes Ereignis zu tun

wenn Mouseover: Breite 300px

und mouseleave ist: diese Breite ist 100px.

Nun, wenn ich Mouseover tun, Breite von 200 Pixel auf 300 Pixel laufen,

Aber wenn Breite Lauf 250 Pixel, i do Leave und ich denke, Breite von 250 Pixel auf 100 Pixel laufen wird.

Mein Denken ist falsch, Breite von 200px zu 300px dann zurück zu 100px.

Wie meine denken kommen TRUE: D

<div id="element" style="width:200px;"> 
     Content content content 
    </div> 
    <script> 
    var myEffects = new Fx.Styles('element',{ 
       unit: 'px', 
       duration: 400, 
       }); 

     $('element').addEvents({ 
      'mouseover' : function(e){ 
       new Event(e).stop(); 
       myEffects.start({ 
        'width': 300 
       }); 
      }, 
      'mouseleave' : function(e){ 
       new Event(e).stop(); 
       myEffects.start({ 
        'width': 100 
       }); 
      } 

     }); 
</script> 

Antwort

1

in 1.2+ Sie auf "link": "cancel" auf die Fx-Instanz übergeben und es wird funktionieren. nicht so in 1,11 - aber Sie können stattdessen .stop() auf der Instanz gelten:

http://www.jsfiddle.net/zbKLj/

var myEffects = new Fx.Styles('element', { 
    unit: 'px', 
    duration: 400 
}); 

$('element').addEvents({ 
    'mouseenter': function(e) { 
     myEffects.stop().start({ 
      'width': 300 
     }); 
    }, 
    'mouseleave': function(e) { 
     myEffects.stop().start({ 
      'width': 200 
     }); 
    } 

}); 

Bitte beachten Sie mousenter/mouseleave OR mouseover/mouseout und sie nicht verwechseln verwenden sollten. in der Tat, vergessen Sie einfach mouseover/mouseout Paar, wie sie fälschen können Blase in IE, wenn das Containerelement Kinder (es wird ein Mouseout ausgelöst, wenn über ein Kind-Element).

Auch Komma Hinter auf die Optionen IE Fehler auslösen Objekt, ich hoffe, dass dies nur um das Beispiel war :)

+0

vielen Dank – Chameron

1

1.11 hat die ‚warten‘ Option, die entweder true oder false ist. Bitte upgrade obwohl :-)

+0

vielen Dank – Chameron

Verwandte Themen