2012-04-09 12 views
0

Ich benutze jQuery mouseover, um etwas zu tun. Aber wenn ich die Maus ungefähr 5-7 Mal bewege - ist es eingefroren.jQuery mouseover/Hover funktioniert nicht mehr nach wenigen Overs

Warum erscheint dieses Problem?

Ich versuchte Mouseover und Hover.

Code-Beispiel:

$('span.info_icon').mouseover(function() { 
    $('#info_box').show(600); 
}).mouseout(function(){ 
    $('#info_box').hide(600); 
}); 

anschauliches Beispiel: http://dev.dolina-imeniy.ru/fotogalereya/kp_usadba_tishnevo (über rote "I").

+1

Ich kann Ihr Problem nicht reproduzieren. Außerdem sehe ich einen Slide-Effekt anstelle eines Hide/Show, den du wahrscheinlich später geändert hast. Ziehen Sie jedoch vor der Animation die Verwendung von .stop (true, true) in Betracht. Wenn du oft sehr schnell ein- und ausschwenkst, wirst du sehen, was ich meine –

Antwort

3

Das Problem: #info_box überlappt die .info_icon, die das Mouseout-Ereignis sofort ausgelöst wird. Daher wäre es besser, wenn Sie dem Info-Icon eine höhere z-index als die Infobox geben.

2

Zunächst einmal haben Sie beide jQuery und Inline-Skript definiert:

<span class="info_icon" onmouseout="showMess('info_box');" onmouseover="showMess('info_box');"></span>

Nachdem beide Probleme verursachen wird. (Es wird zweimal angezeigt, zweimal ausgeblendet usw.). Dies könnte die Dinge schließlich aus dem Gleichgewicht bringen, aber noch wichtiger ist es einfach redundant.

Auch Ihre info_box deckt die auslösende Zeitspanne ab, so dass jedes Mal, wenn sie angezeigt wird, eine mouseout ausgelöst wird. Dadurch werden die Informationen immer wieder umgeschaltet.

Die Kombination dieser Dinge wird Probleme verursachen, die zu dem führen können, was Sie sehen. Beheben Sie diese Probleme zuerst.

Verwandte Themen