2012-08-07 134 views
2

可能重複:
How to show/hide a div on mouseover using jquery?如何在鼠標懸停上顯示/隱藏div?

我有這樣一個div:

我想有顯示的child DIV每當有人在parent移動他們的鼠標div,當他移開鼠標時,隱藏父div。

但是,如果我這樣做:

$("#parent").mouseover(toggle); 
$("#parent").mouseout(toggle); 
function toggle() 
{ 
    console.log('here'); 
    $("#child").toggle(); 
} 

然後,兩個事件似乎每次我提出我的鼠標移到#parent div來獲得所謂的兩次。我怎樣才能達到我想要的?

+0

我只看到它在鼠標懸停時發生一次,而且一次在鼠標外面:http://jsfiddle.net/6MWgy/你確定你沒有把事件連上兩次? – Jamiec 2012-08-07 09:29:39

回答

6
$("#parent").hover(
    function(){ 
     $("#child").show(); 

    }, 
    function(){ 
     $("#child").hide(); 
    } 
) 
1

在這種情況下,您不應該使用切換。如果你總是想隱藏鼠標移開時,並顯示在鼠標懸停,然後將它們定義爲這樣的:)

$("#parent").mouseover(function() { 
    $("#child").fadeIn(); // or .show() for no fading 
}); 

$("#parent").mouseout(function() { 
    $("#child").fadeOut(); // or .hide() for no fading 
}); 
3

如何添加CSS?

#parent #child {顯示:無;}

#parent:懸停#child {顯示:塊;}

<div id="parent"> 
     foo 
      <div id="child" > 
      hidden 
      </div> 
    </div> 
+0

沒有腳本技術 – 2012-08-07 09:32:34

+0

hidden
你應該刪除顯示:隱藏在dom – 2012-08-07 09:35:05

0

可以嘗試.hover()之類這,

$('#divid').hover(
function(){ 
//mouseenter function 
}, 
function(){ 
//mouseleave function 
} 
); 
1

不要使用切換功能!

嘗試這樣:

$("#parent").hover(function(){ 
    $("#child").show(); 
}, function(){ 
    $("#child").hide(); 

} )

這也許應該工作!

+1

爲什麼添加一個重複的答案 - upvote原來... – ManseUK 2012-08-07 09:32:35

+1

對不起,沒有看到!必須已經發布,而我鍵入我的答案..肯定會upvote上面的一個! :) – Mak 2012-08-07 09:33:44

0

你應該使用這樣的事情:

$("#parent").mouseover(function(){ 
    $('#child').show(); 
}); 
$("#parent").mouseout(function(){ 
    $('#child').hide(); 
});​ 

的jsfiddle例如:http://jsfiddle.net/phcwW/

+0

哇,我有時會減慢StackOverflow有時... – Marcus 2012-08-07 09:34:24

0
<div id="parent" onmouseover="callMouseOver()" onmouseout="callMouseOut()"> 
    foo 
     <div id="child" style="display:none;"> 
     hidden 
     </div> 
</div> 

的js方法:

function callMouseOver(){ 
    document.getElementById("child").style.display = "inline"; 
} 

function callMouseOut(){  
    document.getElementById("child").style.display = "none";  
} 
相關問題