两部分问题:)
我在另一个DIV(名为one)之外设置了DIV(命名为2)。当我将鼠标悬停在“一个”上时,我希望“两个”滑过它。这可以使用下面的代码
$(function(){
$(".one").mouseover(function(){
$(".two").animate({left:-0}, 100);
});
});
当我使用相同的代码但使用“mouseout”反转动画时,它会在进出动画中闪烁两次。如何解决这个问题?
$(function(){
$(".one").mouseout(function(){
$(".two").animate({left:-120}, 100);
});
});
问题的第二部分是如何在同一页面上为多个实例设置此项,而不必每次都创建唯一的代码和DIV名称。
答案 0 :(得分:3)
为了避免运行多个动画,您应该在调用新animate()
之前stop()元素
$(function(){
$(".one").mouseout(function(){
$(".two").stop(true, true).animate({left:-120}, 100);
});
});
如果你想跳到最后或从停止的地方开始,请查看有关stop
的文档。
对于拥有多个实例,你应该改为使用jQuery插件。如果第二个div直接在第一个div中,并且没有其他div,则可以调用您的插件,如:
$('div.your_div_parent').doMyFunc();
在您的函数中,您将在$(this, '>div');
我无法更准确,因为我缺少一些代码,而且我不确定你对最后一点的确切要求。