2013-08-22 117 views
2

我有两个div;一个在另一个里面。我想展示内部div,如果在外部div上徘徊,则应该隐藏内部div。外部div也有一个图像(内部div的同胞),它总是显示,所以当它悬停在图像上时,它也会显示文本。有人能帮我吗?显示div在另一个div上悬停

<script> 
$(".divone").hover(
    function() { 
     $(".divtwo").css("visibility","visible"); 
    }, 
    function() { 
     $(".divtwo").css("visibility","hidden"); 
    } 
); 
</script> 


<div class="divone"> 
    <div class="divtwo">some text here</div> 
    <img src="images/test.png" /> 
</div> 


.divtwo{ 
    background-color:red; 
    top:120px; 
    height:50px; 
    width:223px; 
    position:absolute; 
    visibility: hidden; 
} 

.divone{ 
    height:169px; 
position:relative; 
} 
+1

'class“divone”'missing'='...不知道是否有错字或从代码 – MikeM

+0

继承,这是一个错字。将解决它。 – amdvb

回答

6

你也可以有一个这样的风格:

.divone:hover .divtwo { 
    visibility: visible; 
} 

没有JS要求。

+0

优雅的解决方案! – palerdot

+0

这不起作用。你会请小提琴吗? – amdvb

+2

这里是一个小提琴http://jsfiddle.net/jLASh/ – MikeM

0

您可以将事件附加到像这样的mouseenter和mouseleave事件。

$(".divone").mouseenter(function() { 
    $(".divtwo").css("visibility","visible"); 
}); 

$(".divone").mouseleave(function() { 
    $(".divtwo").css("visibility","hidden"); 
}); 
+0

不起作用...... – amdvb

+0

[jQuery'.hover()'是结合'.mouseenter()'和'.mouseleave()']的简写形式(http://api.jquery.com/悬停/),所以基本上,这部分与OP的原始代码相同。然而,[jQuery'.hide()'](http://api.jquery.com/hide/)是**不等于将CSS“visibility”设置为“hidden”。相反,它将'display'设置为'none'......差别很大。 – Sparky

+0

@amdvb:有句法错误;编辑的代码应该可以工 – palerdot

相关问题