在 'hover' 事件上接收参数的无限动画函数
Endless animation function that receives a parameter on 'hover' event
想法是在光标悬停在 div 上时执行动画。我以前也这样做过,但现在带有动画的函数接收到一个参数,如果我添加该参数,页面就会爆炸。如果没有最后一次调用该函数,代码不会使页面崩溃。
请检查我的代码:
function OnHover() {
function Animation(obj) {
obj.stop().animate({ top: '20px' }, 600).animate({ top: '0px' }, 600, Animation(obj));
}
$('#infobox').hover(
function(event) {
$circle = $(event.target).children().first();
Animation($circle);
},
function(event) {
$circle = $(event.target).children();
$circle.stop();
}
);
}
我已经使用了这个解决方法:
$target = undefined;
$("#wrapper .infobox").mouseenter(event, function animate() {
if (typeof $target == 'undefined')
$target = $(event.target).children();
$target.animate({ marginTop: "+=40px" }, 600);
$target.animate({ marginTop: "-=40px" }, 600, animate);
}
);
$("#wrapper .infobox").mouseleave(function() {
$target.stop(true, false).animate({ marginTop: '20px'}, 300);
$target = undefined;
}
);
想法是在光标悬停在 div 上时执行动画。我以前也这样做过,但现在带有动画的函数接收到一个参数,如果我添加该参数,页面就会爆炸。如果没有最后一次调用该函数,代码不会使页面崩溃。 请检查我的代码:
function OnHover() {
function Animation(obj) {
obj.stop().animate({ top: '20px' }, 600).animate({ top: '0px' }, 600, Animation(obj));
}
$('#infobox').hover(
function(event) {
$circle = $(event.target).children().first();
Animation($circle);
},
function(event) {
$circle = $(event.target).children();
$circle.stop();
}
);
}
我已经使用了这个解决方法:
$target = undefined;
$("#wrapper .infobox").mouseenter(event, function animate() {
if (typeof $target == 'undefined')
$target = $(event.target).children();
$target.animate({ marginTop: "+=40px" }, 600);
$target.animate({ marginTop: "-=40px" }, 600, animate);
}
);
$("#wrapper .infobox").mouseleave(function() {
$target.stop(true, false).animate({ marginTop: '20px'}, 300);
$target = undefined;
}
);