我想在某些拇指上创建缩放效果。
这是我的javascript简化代码:
parent.hover(
function(){
parent.stop().animate({/* css */}, inputZoomDuration, "linear");
wrapper.stop().animate({/* css */}, inputZoomDuration, "linear");
child.stop().animate({/* css */}, inputZoomDuration, "linear");
},
function(){
alert("leave");
child.stop().animate({/* css */}, 140, "linear");
wrapper.stop().animate({/* css */}, 140, "linear");
parent.stop().animate({/* css */}, 140, "linear");
}
);
,html就像:
<div parent>
<div wrapper>
<div child>
</div>
</div>
</div>
当我超过“父母”时,我增加了所有div的大小。但是当我结束(或离开,顺便说一下)其中一个孩子时,就会出现警报。 没有警报,结果是一个非常疯狂的动画。 是否有任何方法可以防止在儿童被遮挡时触发mouseleave事件?
致以最诚挚的问候,
感谢。
修改: 这是greasemonkey脚本:http://userscripts.org/scripts/show/94786 以及测试它的链接:http://browse.deviantart.com/ 我可以在控制台中看到,当我离开橙色div时,mouseleave事件是trigerred,与此示例不同:http://www.jsfiddle.net/wnuS6/3/当我离开红色div时,事件不会被触发。
答案 0 :(得分:2)
将活动从.hover()
更改为.mouseenter()
。这将确保它将保持活动状态,直到您离开父div区域,您可以使用mouseleave()
事件检测到该区域。 http://api.jquery.com/mouseenter/ - http://api.jquery.com/mouseleave/
答案 1 :(得分:1)
经过一番调查,似乎问题来自于油脂。 以下是维基所说的内容:
某些版本的jQuery无法运行 在Greasemonkey沙箱里面。作为 这篇文章,1.3.2确实有用,但是 1.4.1没有。可以修补1.4版本的jQuery来工作, 看jQuery论坛:导入jQuery 1.4.1进入greasemonkey脚本生成错误
但是,所有版本1.4.x修补的jQuery仍然无法在我的特定悬停情况下工作,并且仅使用greasemonkey(实际上,我在jsFiddle中测试相同的脚本,并且与jQuery 1.4.4一起工作)。
要解决这个问题,我只使用jQuery 1.3.2(当然,我必须稍微调整一下代码。)