HTML破動畫()算法
<ul class="wrap">
<li title="Lorem ipsum dolor sit amet"></li>
<li title="consectetur adipisicing elit"></li>
<li title="incididunt ut labore et dolore magna aliqua"></li>
<li title="Ut enim ad minim veniam"></li>
<li title="quis nostrud exercitation ullamco"></li>
<li title="laboris nisi ut aliquip ex ea commodo"></li>
<li title="Duis aute irure dolor in reprehenderit"></li>
<li title=" Excepteur sint occaecat cupidatat non"></li>
<div class="sub">
<div class="bg"></div>
</div>
</ul>
CSS
*{
padding: 0;
margin: 0;
border: none;
}
body{
padding: 100px;
}
ul{
list-style: none;
overflow: hidden;
position: relative;
}
li{
width: 220px;
height: 220px;
background: rgba(0, 0, 0, 0.6);
position: relative;
overflow: hidden;
cursor: pointer;
float: left;
margin-right: 20px;
margin-bottom: 20px;
display: block;
}
.sub{
width: 210px;
height: 210px;
background: #ff3030;
color: #fff;
padding: 5px;
position: absolute;
display: none;
}
JQUERY
var li = $('.wrap').children('li'),
sub = $('.sub');
li.on('mouseover', function() {
sub.show();
var left = $(this).offset().left,
top = $(this).offset().top,
text = $(this).attr('title'),
bg = $('.bg');
sub.stop().animate({
left: left - $('.wrap').offset().left,
top: top - $('.wrap').offset().top
});
bg.stop().animate({
opacity: 0
}, function() {
bg.text(text);
bg.animate({
opacity: 1
});
});
}).on('mouseleave', function() {
sub.fadeOut();
});
這是小提琴 http://jsfiddle.net/GTHM4/
它BETT呃看起來全寬 http://jsfiddle.net/GTHM4/embedded/result/
正如你所看到的問題是「破」工作「鼠標離開」事件,以及格「BG」總是「想要」去了......怎麼了?
這只是一個建議,但你已經注意到,當你得到li元素的div元素頂部appers上懸停事件,這意味着,該懸停li的事件並啓動mouseleave事件,然後div消失並再次懸停事件,這是無限的,您必須控制何時您確實想要發生該事件。 – Xdevelop
究竟是期望的效果?紅色的div應該眨眼嗎? –
也許,我會更努力的,thanx幫助和建議。 Tilwin Joy,理想的效果是在li上添加bg,並在光標不在li時隱藏這個bg。 – Aziz