我试图在mouseenter和mouseout上做一个事件。 如果我将鼠标放置多次,它将重复我做过它的次数,即使仍然在第一次动画上。我也试图在mouseleave上停止动画并将其动画回来。 提前致谢
这是javascript
$('.velejador').mouseenter(function(){
$('.velejador').animate({
left: '-=50',
width: '40px'
}, 2000);
}).mouseleave(function(){
$('.velejador').animate({
left: '+=50',
width: '40px'
}, 2000);
});
这里是html
<div id="hidden-cartoons">
<img src="<?php echo base_url().'assets/img/cartoons/velejador.png' ?>" class="cartoon velejador">
<img src="<?php echo base_url().'assets/img/cartoons/bodoleite.png' ?>" class="cartoon bodoleite">
</div>
答案 0 :(得分:3)
你可以试试这个..
var velejador = $('.velejador');
var position = velejador.position();
velejador.mouseenter(function(){
var $this = $(this);
console.log(position);
$this.css('left',position.left);
$this.stop(1,0).animate({
left: '-=50',
width: '40px'
}, 2000,function(){
$this.stop(1,0).animate({
left: '+=50',
width: '40px'
}, 2000);
});
});
答案 1 :(得分:2)
$('.velejador').mouseover(function() {
$('.velejador').animate({
left: '-=50',
width: '40px'
}, 2000);
}).mouseout(function() {
$('.velejador').animate({
left: '+=50',
width: '40px'
}, 2000).stop();
});
根据图像在“mouseout”上的位置,您可能希望使用.css()将图像返回到原始位置。
答案 2 :(得分:2)