首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >只在鼠标移动时触发jQuery悬停()

只在鼠标移动时触发jQuery悬停()
EN

Stack Overflow用户
提问于 2015-07-14 08:50:50
回答 2查看 817关注 0票数 2

我有一个按钮,当它盘旋时会改变不透明度:(工作正常)

代码语言:javascript
代码运行次数:0
运行
复制
$('#btn').hover(function() {
    $(this).animate({'opacity':1},100);
}, function() {
    $(this).animate({'opacity':.8},100);
});

当它被按下时,它会向下移动:(工作也很好)

代码语言:javascript
代码运行次数:0
运行
复制
$('#btn').on('click',function(){
    $(this).animate({'margin-top':'-100px'},400);
});

问题:当按钮移动时,它离开悬停区域,但是第一个悬停状态仍然处于活动状态(只有当鼠标悬停在按钮上时,第一个悬停状态才应该是活动的)。但是,如果我从那里移动鼠标,jquery会触发第二个状态,注意鼠标移动。

即使鼠标没有移动,悬停()也有触发的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-14 09:08:33

使用$(this).trigger("mouseout")

这将导致正确的hover()处理程序触发。

演示:http://jsfiddle.net/alan0xd7/va87ff96/

票数 3
EN

Stack Overflow用户

发布于 2015-07-14 09:09:15

如果我理解得很好的话,问题是在移动之后,悬停状态仍然是活动的。

那么为什么不把不透明度也添加到动画中呢?

代码语言:javascript
代码运行次数:0
运行
复制
$('#btn').on('click',function(){
    $(this).animate({'opacity':.8,'margin-top':'-100px'},400);
});

DEMO

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

https://stackoverflow.com/questions/31402029

复制
相关文章

相似问题

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