jQuery悬停在div上排除了图像

时间:2013-04-24 12:13:04

标签: jquery hover

我在div上放置了一个悬停动画:

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

一切正常, 但是当我在div中放置一个图像时,我将鼠标悬停在该图像而不是div的自由空间上,该函数不会触发,因为图像是另一个对象。

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

修改

Nailed it:行为是正确的,因为你实际上离开了div。不要将事件应用于孩子和youre good to go

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

答案 1 :(得分:-1)

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

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

});

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