2012-05-09 55 views

回答

1

必須設置精靈回到原來的CSS值。它是隱藏的,所以你重新運行動畫,但你看不到它。您想使用動畫的回調來將所有內容都設置回默認值。

http://jsfiddle.net/pcwuc/3/

$("#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 
     }); 
    }); 
}); 

或者,如果你希望能夠火多一次,克隆原來的代替。

http://jsfiddle.net/pcwuc/5/

使用回調,讓你不超載的DOM以去除發射了克隆。

$("#header").mouseover(function() { 
    var $shineCopy = $("#shine").clone(); 
    $shineCopy.appendTo('body').animate({ 
     width: "300px", 
     height: "300px", 
     opacity: 0 
    }, 3000, function() { 
     $(this).remove(); 
    }); 
});​ 
+0

啊,這是有道理的。謝謝! – nuclearsugar