2012-03-29 18 views
0

Ich versuche, einen kleinen Mouseover-Effekt mit Jquery zu implementieren, aber ich bin stecken geblieben, ein flackerndes Problem zu lösen. Ich habe bereits versucht, eine Verzögerung für den Mouseout einzufügen, aber ich habe immer noch Probleme mit den Bildern.Vermeiden Sie Flackern bei Mouseover

Hat jemand eine Ahnung davon?

Mit freundlichen Grüßen Sascha

Testing URL: www.de-facto-magazin.de

$(".item").hover(

function() { 
    $(this).parent().parent().find(".title").show(); 
    $(this).parent().parent().find(".bg").show(); 
    $(this).parent().parent().find(".bg").addClass("transparent"); 
    $(this).find(".bg").removeClass("transparent"); 
    $(this).find(".title").addClass("colored"); 
}, function() { 
    $(this).parent().parent().find(".title").hide(); 
    $(this).parent().parent().find(".bg").hide(); 
    $(this).parent().parent().find(".title").removeClass("colored"); 

})​ 
+0

Es flackert, weil das Mouseout feuert, wenn Sie in der Lücke zwischen den Bildern sind. – Straseus

+0

Platzieren Sie stattdessen den Hover-Handler auf #splash. Das sollte funktionieren. – Straseus

+0

I'use einige Zeitüberschreitung für solche Ereignisse und versuchen, fadeIn und fadeOut Ereignisse –

Antwort

1

Der beste Weg, um ein Flimmern zu vermeiden, ist ein separates Hover-Ereignis auf dem umschließenden div haben (id = "splash") zu handhaben show/hide, und verwende das aktuelle Ereignis nur, um zu handhaben, welches div aktiv ist. Etwas in diese Richtung (Warnung, Code ungetestet):

+0

Thx für die schnelle Unterstützung, den Hinweis mit dem separaten Hover auf dem "Splash" -div tat es. – bipulse

+0

Ich bin froh, dass ich helfen konnte. Vergessen Sie nicht, die richtige Antwort für zukünftige Googler zu markieren. Willkommen bei Stack Overflow! –