【发布时间】:2014-06-30 22:31:13
【问题描述】:
我正在用 jquery 创建一个简单的动画。
动画包含当鼠标悬停时向左滑动的 div。
这是我的html:
<div class="item">
<div class="content" onmouseover="over(this)" onmouseout="out(this)">
<div class="image">
<img src="http://aranciamato.it/wp-content/uploads/2013/09/insetti-700x250.jpg" width="300"/>
</div>
<div class="text">
Some useful content
</div>
</div>
</div>
这是js:
function over(element) {
$(element).stop().animate({left: "-250"}, 500);
}
function out(element) {
$(element).stop().animate({left: "0"}, 500);
}
这是css:
.item {
position: relative;
width: 300px;
height: 107px;
overflow:hidden;
}
.item .content {
position: absolute;
top:0;
left:0;
width: 600px;
height: 107px;
}
.item .content .image {
position:absolute;
top: 0;
left: 0;
}
.item .content .text{
position:absolute;
top: 0;
left: 300px;
width: 250px
}
.item {
border: 1px solid black;
}
动画可以正常运行,但我注意到如果在动画运行时将光标移到.image div 的左边框上,它会暂停片刻然后恢复。
我不知道如何更好地解释这个,所以here you can find a JSFiddle和here you can find a video that demonstrates the behaviour
我的问题是:为什么动画会这样?如何让动画继续播放而不暂停?
【问题讨论】:
-
不确定是否能解决您的问题,但听起来您应该改用
onmouseenter/mouseleave事件:jsfiddle.net/kWbJ7/1 但最好只在 CSS 中设置动画 -
@A.Wolff 我的意思是它发生了这样的事情:videobam.com/APmeU 无论如何,你和安东的回答都对我有用,谢谢!
-
感谢视频,现在我明白你的意思了
-
@A.Wolff 也许我应该把它附加到这个问题上,我不是英语,我不知道如何用语言解释这种行为
-
你的英文好像比我的好... ;) 你解释得很好,我只是不确定
标签: javascript jquery html css animation