jQuery アニメーションに問題があります。ページに 5 つのボックスがあり、すべてのボックスに、ボックスを拡張して余分なテキストを表示するホバー ハンドラーがあります。すべてのボックスには、いくつかのテキストを含む h1 タグがあります。そのh1タグは最初からあり(ホバーなし)、ホバーしてもそこにとどまります。問題は、h1タグの上にホバーするとアニメーションが停止し、ボックスが元の状態に戻ることです(ホバーなしのように)
これが jsfidle です。ボックスの上にカーソルを置き、「why」(h1) という単語を入力して、何が問題なのかを確認してください。h1にカーソルを合わせても、ボックスが拡張されたままになることを望みます。ありがとうございました
HTML:
<div class="box">
<h1>why</h1>
<div>
<p>test</p>
</div>
</div>
CSS:
.box{
background-color: white;
display: inline-block;
float: left;
height: 320px;
margin: 0 155px 40px 0;
position: relative;
width: 320px;
z-index: 1000;
}
.box > div {
display: inline-block;
width:280px;
height:280px;
padding:20px;
}
.box > div p{
color: #FFFFFF;
display: none;
float: right;
font-weight: bold;
margin-top: 5px;
position: relative;
top: 28px;
width: 450px;
}
.box h1{
font-size: 40px;
height: 0;
padding-top: 0;
position: relative;
text-align: center;
top: 32%;
font-family: 'DeftoneStylus';
}
.box:nth-child(1) > div{
background-color:red;
}
.box:nth-child(1) > div:hover{
background-color:blue;
}
.box:nth-child(1):hover h1{
color:#94C11F;
}
jquery:
$( document ).ready(function() {
$('.box > div').hover(function() {
$(this).clearQueue().parent().css('z-index', '10000')
$(this).clearQueue().find("p").css('display', 'block')
$(this).animate({
width: 785, height: 280, margin: 0,
});
}, function() {
$(this).clearQueue().parent().css('z-index', '100')
$(this).clearQueue().find("p").css('display', 'none')
$(this).animate({
width: 280, height: 280, margin: 0,
}, function() {
$(this).parent().css('z-index', '0');
});
});
});