JQuery - Animationen werden zu oft ausgeführt

weedo

Erfahrenes Mitglied
Hi,

ich habe mal wieder ein kleines jQuery problem.

Folgender Code soll beim Mouseover ein Bilder vergrößern und beim Mouseout es wieder verkleinern.

Javascript:
                    $("#dockFolder").mouseover(function(){
                      var timerDockFolder = setTimeout(500,
                        $("#dockFolderPic").animate({
                          height: 96,
                          width: 96
                        }, 400, function(){
                        });
                      );
                    });
                    $("#dockFolder").mouseout(function(){
                      $("#dockFolderPic").animate({
                        height: 64,
                        width: 64
                      }, 400, function(){
                      });
                    });

Ansich funktioniert das Script ja auch. Mein Problem ist jedoch, dass die Animation immer 2-4x ausgeführt wird, bis das bild seine gewünschte Größe erreicht.

Hat jemand eine Idee, wie man dieses Problem lösen könnte?

Lg weedo
 
Hi,

verwende die Ereignisse mouseenter und mouseleave. Ausserdem solltest du die laufenden Animationen beim Eintritt eines anderen Ereignisses mit Hilfe der Methode stop beenden.
Code:
$("#dockFolder").mouseenter(function(){
  var timerDockFolder = 
  $("#dockFolderPic").stop().animate({
      height: 96,
      width: 96
  }, 400, function(){
  });
});

$("#dockFolder").mouseleave(function(){
  $("#dockFolderPic").stop().animate({
    height: 64,
    width: 64
  }, 400, function(){
  });
});
Ciao
Quaese
 
JQuery - Animationen werden zu oft ...

Hey,

Vielen dank für deine Hilfe. Mouseover reagiert also auch, wenn man mit der maus schon im Objekt ist?

Das wirft ein ganz neues licht in die Angelegenheit. Ich möchte nämlich eine Art Mac bar erstellen.

Lg weedo
 
Zurück