我有一个需要修复的图像动画问题。当用户将鼠标悬停在图像上时,图像的大小应该会增加。当用户离开图像时,图像应该恢复到原来的大小。
问题:当用户快速移出图像时,图像会扩大并开始自行扭曲,或者变成完全不同的大小。然后,当鼠标没有悬停在图像上时,它会继续动画。
mouseover
我在方法中使用和mouseout
事件遇到了同样的问题.on()
。同时在.on()
方法中将这些事件链接在一起
HTML:
<div id="content">
<img id="foo" src="http://www.nasa.gov/images/content/297522main_image_1244_946-710.jpg" alt="" title="" />
jQuery:
jQuery('#content').on("hover", '#foo', function (e) {
var $img = jQuery(this);
var $imgWidth = $img.width();
var $imgHeight = $img.height();
var $imgTop = $img.position().top;
if (e.type == "mouseenter") {
$img.animate({
top: $imgTop - 20,
width: $imgWidth * 1.2,
height: $imgHeight * 1.2
}, 200);
} else if (e.type == "mouseleave") {
$img.animate({
top: $imgTop + 20,
width: $imgWidth / 1.2,
height: $imgHeight / 1.2
}, 200);
}
});