我在 div 上放置了一个悬停动画,如下所示:
$('#divID').hover(function(){
$('#divID').animate({'margin-top': '-200px'}, 200);
});
这一切都很好,但是当我将图像放在该 div 中时,我将鼠标悬停在该图像而不是 div 的可用空间上,该函数不会触发,因为该图像是另一个对象。
无论div的内容如何,我都希望该函数触发。
提前致谢。
编辑
搞定了:行为是正确的,因为您实际上要离开 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);
});
而不仅仅是悬停事件,您还应该使用 mouseout 事件。所以现在你的脚本将是:
$('#mostread').hover(function(){
$('#mostread').animate({'margin-top': '-200px'}, 200);
});
$('#mostread').mouseout(function(){
$('#mostread').animate({'margin-top': '+200px'}, 200);
});