我无法使此鼠标悬停事件可重复。这意味着每次您将鼠标悬停时,都会触发一个新实例并继续直到完成。
我也无法使其从中心缩放。
这是我的工作示例http://jsfiddle.net/pcwuc/
您必须将精灵设置回其原始 css 值。它是隐藏的,因此您正在重新运行动画,但您看不到它。您想使用动画的回调将所有内容设置回默认值。
$("#header").mouseover(function() {
$("#shine").animate({
width: "300px",
height: "300px",
opacity: 0
}, 3000, function() {
$('#shine').css({
width: 0,
height: 0,
opacity: 1,
top: 200,
left: 200
});
});
});
或者,如果您希望能够一次发射多个,请克隆原件。
使用回调删除已触发的克隆,这样您就不会超载 DOM。
$("#header").mouseover(function() {
var $shineCopy = $("#shine").clone();
$shineCopy.appendTo('body').animate({
width: "300px",
height: "300px",
opacity: 0
}, 3000, function() {
$(this).remove();
});
});