2013-08-07 3 views
2

Это странно. У меня есть социальная кнопка, что, когда вы наводите на нее курсор, должны появляться социальные иконки. Это работает, но наведение мерцает.JQuery toggle hover мерцает

Я захватил его, чтобы вы знали, что у меня просто плохое зрение. :) http://www.youtube.com/watch?v=4GDcfsG6Frg&feature=youtu.be

и HTML выглядит следующим образом

<div class="social">Be Social!</div> 
<div class="socialBttn"> 
    <ul> 
     <li><img src="<?= base_url('assets/img/facebook.png') ?>" alt="" /></li> 
     <li><img src="<?= base_url('assets/img/twitter.png') ?>" alt="" /></li> 
     <li><img src="<?= base_url('assets/img/link.png') ?>" alt="" /></li> 
     <li><img src="<?= base_url('assets/img/google.png') ?>" alt="" /></li> 
    </ul> 
</div> 

и JQuery выглядит следующим образом

$(".social").hover(function() { 
    $(".socialBttn").toggle(); 
}); 

Любая помощь будет удивительно!

ответ

1

Почему не пишет CSS для того же вместо jQuery

Как hover события продолжает стрелять непрерывно до тех пор, пока есть незначительное движение за дела. Таким образом, вы видите эффект пульсации.

.social + .socialBttn{ 
    display: none; 
} 

.social:hover + .socialBttn{ 
    display: inline-block; 
} 
+0

Удивительно! Я даже не думал использовать css! Если бы я мог обнять тебя! – zazvorniki

+1

haha ​​.. Случается со всеми раз в то время. Так что не беспокойтесь :) –

0

Это происходит потому, что при установке каждого из мини-изображений в видимый через $.toggle(), если мышь в настоящее время находится над одной из этих изображений, он будет снова инициировать событие при наведении на .social DIV и запустить его один раз больше для зависания над одним из новых элементов внутри .social div.

+0

Но наведение не на изображениях, это только на социальной вкладке. – zazvorniki

+0

Я знаю, но браузеры все равно это сделают, вы технически нависаете над новым элементом, чтобы снова вызвать наведение на старый элемент, а так как новый элемент внутри родителя, событие пузырится и запускает его снова. Так или иначе. – Lochemage

+0

Thats странно. Я построил свой html так, как это было, поэтому проблем с родительским ребенком не было. Браузеры странные. – zazvorniki