0

我在 div 上放置了一个悬停动画,如下所示:

$('#divID').hover(function(){
$('#divID').animate({'margin-top': '-200px'}, 200);
});

这一切都很好,但是当我将图像放在该 div 中时,我将鼠标悬停在该图像而不是 div 的可用空间上,该函数不会触发,因为该图像是另一个对象。

无论div的内容如何,​​我都希望该函数触发。

提前致谢。

4

2 回答 2

1

编辑

搞定了:行为是正确的,因为您实际上要离开 div。不要将事件应用到孩子身上,你很高兴

$('#google').not($('#google').children()).mouseleave(function(e){
    e.stopPropagation();
    $('#google').stop().animate({'margin-top': '0px'}, 200);
});

那么基本上这不应该发生。您可以尝试使用直接mouseenter事件而不是hover,但悬停确实使用 mouseenter 。对我来说,似乎还有另一个问题。

尝试这样的事情:

$('#divID').mouseenter(function(){
    $('#divID').stop().animate({'margin-top': '-200px'}, 200);
});
于 2013-04-24T12:17:09.763 回答
-1

而不仅仅是悬停事件,您还应该使用 mouseout 事件。所以现在你的脚本将是:

 $('#mostread').hover(function(){
$('#mostread').animate({'margin-top': '-200px'}, 200);

});

 $('#mostread').mouseout(function(){
$('#mostread').animate({'margin-top': '+200px'}, 200);
});
于 2013-04-24T12:50:26.107 回答