我试图为我正在工作的网站做一个小动画,但我已经建立它的方式,当我的鼠标移动到容器div上时,动画仍然发生。我怎样才能认识到鼠标实际上并没有悬停?jQuery函数没有发生在悬停mouseleave
的HTML代码是:
<div id="badge">
<div id="slogan">
<p>We sell for less!</p>
</div>
<div id="icon"></div>
<div id="name"></div>
<div id="TMhold">
<div id="TM"></div>
</div>
</div>
,这是我使用jQuery:
$("#badge").hover(
function() {
$(this).stop(true,true).animate({width: "250px"}, 760, "easeOutQuart");
setTimeout(function() {
$("#TM").stop(true,true).animate({top: "0"}, 500, "easeOutQuart");
}, 500);
setTimeout(function(pee) {
$('#badge p').stop(true,true).animate({opacity: .99}, 760, "easeOutQuart");
}, 800);
},
function() {
clearTimeout(pee);
$('#badge p').stop(true,true).animate({opacity: 0}, 120, "easeOutQuart");
setTimeout(function() {
$('#badge').stop(true,true).animate({width: "90px"}, 900, "easeOutQuart");
$("#TM").stop(true,true).animate({ top: "-13px"}, 500, "easeOutQuart");
}, 300);
}
);
我读过有关clearTimeout功能,但我不知道是否适用这是我的解决方案。
非常感谢您的帮助或澄清!
我建议你练习适当的间距和缩进你的代码,以帮助阅读和排除故障。我编辑了你的帖子以显示我在说什么。 – Sparky 2012-03-13 17:18:57
http://cherne.net/brian/resources/jquery.hoverIntent.html – j08691 2012-03-13 17:19:46