首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery悬停停止().fadeIn()问题

JQuery悬停停止().fadeIn()问题
EN

Stack Overflow用户
提问于 2011-12-20 03:27:33
回答 2查看 1.3K关注 0票数 1

在与fadeIn结合使用时,我遇到了stop函数的问题。

我的fadeIn设置为2000ms,我引入了stop(),这样动画就不会累积起来。然而,问题是当我使用stop(true,true)时,它会跳到动画的末尾。如果我只是使用stop(),当多次悬停目标时,效果并不是100%有效。即。如果有两个带有此效果的div相邻,并且我非常快地将光标移动到每个div上,悬停效果就不会启动。

下面是代码。

代码语言:javascript
运行
复制
$('#menu li').hover(
//Mousein    
function() {
    $(this).children('div').stop(true, true).fadeIn(2000);
},

//Mouseout
function() {
    $(this).children('div').stop(true, true).fadeOut(2000);   

});

有没有一种方法可以让动画正常停止/开始而不跳到结尾?

EN

回答 2

Stack Overflow用户

发布于 2011-12-20 05:06:04

你没有确切地说明你所说的“不能100%工作”是什么意思。但是,如果您使用的是早于1.7的jQuery版本,您可能会看到以下已知缺陷:

从jQuery1.7开始,提前停止使用.stop()切换的动画将触发

的内部效果跟踪。在以前的版本中,在切换的动画完成之前调用.stop()方法会导致动画失去对其状态的跟踪(如果jumpToEnd为false)。任何后续动画都将从一个新的“中途”状态开始,有时会导致元素消失。

请参见.stop() - jQuery API上的“切换动画”。

票数 2
EN

Stack Overflow用户

发布于 2011-12-20 04:14:13

这是我做的。这并不是一个真正的解决方案,只是一个对话的开始。只要鼠标在窗口视口内,似乎就可以正常工作。

http://jsfiddle.net/mcritz/AwzQ7/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8566783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档