2010-11-30 13 views
0

Bei schneller Bewegung der Maus (wie immer, nur im IE) werden beide Hover-Handler ausgelöst, so dass nichts erscheint. Ich versuchte mit HoverIntend, aber das Plugin vermasselt mit e.pageX/Y Irgendwelche Ideen, wie das zu beheben, war ich nicht nach 5 Stunden gelungen.Jquery Hover feuert beide Handler beim Bewegen der Maus qucikly

yOffset = 10; 
xOffset = 30;  

$("img.hover-preview").hover(function(e){ 
//alert('hover'); 

this.t = this.title; 
this.title = ""; 
var c = (this.t != "") ? "<br/>" + this.t : ""; 

preview_link = $('#' + this.id + '-url').attr('src'); //Get the src of the bigger preview image 
zoom_link = $('#' + this.id + '-url-zoom').attr('src'); //Get the src of the ZOOM image 

//Output of the preview element 
$("body").append("<div id='hover-preview-active'><img src='"+ preview_link +"' alt='Loading Image Preview' /><span>" 
       + Drupal.t("Press and hold Z key to zoom") + "</span></div>");  

$("#hover-preview-active") 
    .css("top", (e.pageY - yOffset) + "px") 
    .css("left",(e.pageX + xOffset) + "px") 
    .fadeIn("fast"); 
}, 

function(){ 
    this.title = this.t; 
    $("#hover-preview-active").remove(); 
}); 
+0

Wie soll es funktionieren? –

+0

arbeitet es mit der Lösung von Aditya –

Antwort

0

Sie können dies in Ihrer Hover-out-Funktion:

function(){ 
    if($("#hover-preview-active").is(":animated")) 
     return; 

    this.title = this.t; 
    $("#hover-preview-active").remove(); 
}); 

, dass die Funktion von der Ausführung zu stoppen, wenn Ihre #hover-preview-active Animieren, wenn sie aufgerufen wird.