2012-04-24 65 views
2

在JQUERY中,我試圖創建一個簡單的覆蓋圖,當您在懸停content1它消失並且content2出現。然後你鼠標移出content2content1重新出現。將鼠標懸停在div的嵌套項目

這工作得很好,除了content2annoyingdiv當過annoyingdiv鼠標移出事件鼠標移動時觸發。我該如何解決這個問題?或者這是如何解決的?

HTML

<div class="content1">blah blah</div> 

<div class="content2"> 
    <div class="annoyingdiv"> 
     blah blah 
    </div> 
</div> 

jQuery的JavaScript的

$(function() { 

    $('.content1').hover(function() { 

     $(".content2").css("display", "block"); 
     $(this).css("display", "none"); 

    }); 

    $('.content2').mouseout(function() { 

     $(".content1").css("display", "block"); 
     $(this).css("display", "none"); 
    }); 

}); 
+1

嘗試用鼠標離開,而不是鼠標移開試驗。 – 2012-04-24 13:33:53

回答

2

使用CSS。

證明:http://jsfiddle.net/iambriansreed/vaQTU/

HTML:

<div class="parent"> 
    <div class="content1">blah blah content1</div> 

    <div class="content2"> 
     <div class="annoyingdiv"> 
      blah blah annoyingdiv 
     </div> 
    </div> 
</div> 

CSS:

.parent .content2 { 
    display: none; 
} 
.parent:hover .content1 { 
    display: none; 
} 
.parent:hover .content2 { 
    display: block; 
}​​​ 
+0

有效點我可以這樣做,但我有幾個相互鏈接的組件。 – Anicho 2012-04-24 13:36:02