Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

show/hide a div on hover and hover out

I would like to show and hide a div during hover and hover out.

here's what I've done lately.

css

$("#menu").hover(function() {
  $('.flyout').removeClass('hidden');
}, function() {
  $('.flyout').addClass('hidden');
});
.flyout {
  position: absolute;
  width: 1000px;
  height: 450px;
  background: red;
  overflow: hidden;
  z-index: 10000;
}

.hidden {
  visibility: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<div id="menu" class="margint10 round-border">
  <a href="#"><img src="images/menu.jpg" alt="" id="menu_link" /></a>
</div>
<div class="flyout hidden">&nbsp;</div>

My problem is that when I hover on the menu id, the flyout div is blinking. why is that?

like image 858
Tsukimoto Mitsumasa Avatar asked Jun 20 '12 07:06

Tsukimoto Mitsumasa


3 Answers

Why not just use .show()/.hide() instead?

$("#menu").hover(function(){
    $('.flyout').show();
},function(){
    $('.flyout').hide();
});
like image 80
xdazz Avatar answered Oct 09 '22 00:10

xdazz


May be there no need for JS. You can achieve this with css also. Write like this:

.flyout {
    position: absolute;
    width: 1000px;
    height: 450px;
    background: red;
    overflow: hidden;
    z-index: 10000;
    display: none;
}
#menu:hover + .flyout {
    display: block;
}
like image 23
sandeep Avatar answered Oct 09 '22 01:10

sandeep


Here are different method of doing this. And i found your code is even working fine.

Your code: http://jsfiddle.net/NKC2j/

Jquery toggle class demo: http://jsfiddle.net/NKC2j/2/

Jquery fade toggle: http://jsfiddle.net/NKC2j/3/

Jquery slide toggle: http://jsfiddle.net/NKC2j/4/

And you can do this with CSS as answered by Sandeep

like image 16
SVS Avatar answered Oct 08 '22 23:10

SVS