1
我試圖在將鼠標懸停在錨元素上時爲其設置動畫效果。當我將鼠標懸停在標誌上時,第一個圖像完成後,圖像需要向上和向下。當鼠標離開它時,當前元素(第2個)應該向上,當它離開時,第一個元素應該向下。用於懸停的jQuery動畫
我知道如何爲此設置動畫,但是當我將鼠標懸停在我的錨點元素上方時,我遇到了麻煩。有時兩張圖片(第一張&第二張出現)等。
這是我已經得到的,我該如何正確地做到這一點?
function logoAnimation() {
var logo = jQuery('#logo a');
var house = jQuery('#logo_icon_house');
var brush = jQuery('#logo_icon_brush');
var inHandler = function() {
logo.unbind('mouseleave', outHandler);
brush.animate({
"top": "-27px"
}, 250, function(){
house.animate({
"top": "42px"
}, 250,function(){
logo.bind('mouseleave', outHandler);
});
}
);
}
var outHandler = function() {
logo.unbind('mouseenter', inHandler);
house.animate({
"top": "-21px"
}, 250, function() {
brush.animate({
"top": "39px"
}, 250,function(){
logo.bind('mouseenter', inHandler);
});
});
}
logo.mouseenter(inHandler).mouseleave(outHandler);
}
正確回答我的問題後,我好不容易用下面的代碼來工作了這一點:
function logoAnimation() {
var logo = jQuery('#logo a');
var house = jQuery('#logo_icon_house');
var brush = jQuery('#logo_icon_brush');
var inHandler = function() {
if(brush.is(':animated')) {
return;
}
brush.stop(true,true).animate({
"top": "-27px"
}, 250, function(){
if(house.is(':animated')) {
return;
}
house.animate({
"top": "42px"
}, 250);
}
);
}
var outHandler = function() {
house.stop(true,true).animate({
"top": "-21px"
}, 250, function() {
if(brush.is(':animated')) {
return;
}
brush.animate({
"top": "39px"
}, 250);
});
}
logo.mouseenter(inHandler).mouseleave(outHandler);
}
謝謝,你指出我在非常正確的方向。 – Ayrton 2010-08-16 12:47:49