일부 jquery menu mouseenter 문제를 만났습니다. 마우스를 p
으로 입력 할 때 수정하려면 p
이 여전히 display block
입니까?jquery mouseenter mouseout 메뉴에서
<script>
$(document).ready(function() {
$('a').mouseenter(function(){
$('p').css('display','none');
$(this).next('p').slideDown('slow');
}).mouseleave(function(){
$('p').slideUp('slow');
});
$('p').mouseenter(function(){
$(this).css('display','block');
});
});
</script>
<div>
<a>menu1</a>
<p>about us</p>
<a>menu2</a>
<p>contact</p>
</div>
<style>
div{
position:relative;
z-index:0;
width:600px;
height:20px;
}
p{
display:none;
position:absolute;
top:20px;
left:0;
width:300px;
height:100px;
background:#ccc;
}
</style>
라이브 데모 :
<ul class="menu">
<li>item
<ul>
<li>sub item</li>
<li>sub item</li>
<li>sub item</li>
</ul>
</li>
</ul>
그리고에 .menu li ul { display: none; }
을 추가 http://jsfiddle.net/KTvf7/
(1) '$ ("P") mouseenter (함수() {$ (이) .CSS ('디스플레이 ','블록 '); $ (this) .show(); });'아무 것도하지 않습니다 (''p는 항상 블록이고 그렇지 않으면 볼 수 없습니다.). (2) 사용자가'a' 엘리먼트로부터 메뉴를 떠난다면'p'가 여전히 나타납니다. – ori
나는 너에게 동의 할 것이다 ... 나의 서두를 돌리는 실수. $ (this) .show(); 위의 코드에서 쓸모가 없다. – Alexander