如何检测当前是否有任何元素具有活动的mouseenter
How to detect if any elements currently have mouseenter active?
基本上,我有一个无序列表,大约有12个列表项。我想当鼠标在它们上面的时候给它们应用一个样式,当鼠标不在它们上面的时候应用一个不同的样式。
例如,下面是我当前的代码,只有当li
被悬停时才有样式。
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
<li>List item 5</li>
<li>List item 6</li>
</ul>
jQuery: $('li').bind('mouseenter',function(){
$(this).animate({'opacity': '1'},100,'easeOutBack');
});
$('li').bind('mouseleave',function(){
$(this).animate({'opacity': '0.7'},600,'easeOutBack');
});
我想样式所有的li
有opacity:1
时,没有li
被悬停。
我怎样才能做到这一点?
你可以用CSS做这个,如果我理解正确的话,你想让所有的项目在没有悬停的时候都是完全不透明的,并且在悬停的项目上有完全不透明度,其余的不透明度更低。下面是一个只有CSS的例子:
li {
opacity: 1;
}
li:hover {
opacity: 1 !important;
transition: opacity .3s ease-in-out;
}
ul:hover li {
opacity: .5;
transition: opacity .3s ease-in-out;
}
演示:http://jsfiddle.net/Sbgn8/2/
这是你想要的吗?
$('li').bind('mouseenter',function(){
$(this).animate({'opacity': '1'},100,'easeOutBack');
});
$('li').bind('mouseleave',function(){
$(this).animate({'opacity': '0.7'},600,'easeOutBack');
});
$("ul").bind('mouseenter',function(){
$("li").animate({'opacity': '0.7'},200,'easeOutBack');
})
$("ul").bind('mouseleave',function(){
$("li").animate({'opacity': '1'},200,'easeOutBack');
})
您可以为ul元素创建一个新类,使所有列表100%不透明。然后,在悬停一个li时,将该类从它的父类(ul)中移除。
如果我听起来很困惑,我会给你一个代码。
注意,我已经添加了一个CSS过渡,我建议你使用CSS来完成它们(这样你就不必处理覆盖所有其他的内联规则)。
$('li').bind('mouseenter',function(){
$(this).animate({'opacity': '1'},100);
$(this).parent().removeClass('full');
});
$('li').bind('mouseleave',function(){
$(this).animate({'opacity': '0.7'},600, function(){
$(this).css('opacity', '')
});
$(this).parent().addClass('full');
});
这是我的想法:http://jsfiddle.net/fqVT8/1/
你不能改变handler函数中的选择器吗?改变这种…
$(this).animate({'opacity': '1'},100,'easeOutBack');
这个… $('li').animate({'opacity': '1'},100,'easeOutBack');
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 任何一种简单的方法都可以将带有onload的元素作为目标
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 从dom中删除任何元素后,Touchmove事件停止触发
- Javascript集:任何覆盖元素之间比较的方法
- 制作 JavaScript 代码适用于任何元素
- jQuery:append()不是't在选择器中插入任何元素
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- 比较数组中的连续元素不会返回任何结果(javascript)
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 与任何元素的 .innerHTML 属性匹配的 JavaScript 正则表达式
- 没有任何 DOM 元素的 Aura 组件
- 当“不相关”的 html 选择元素没有选择任何选项时,如何退出 jQuery 事件
- 当我单击chrome的输入类型=搜索元素上的X时,是否触发了任何事件
- IOS自动化:有没有办法;刷新'元素树(或者Instruments'认为可以访问和不能访问的任何内容)
- 如果我只想从数组中打印任何一个元素.任何数组.那么代码会是什么
- 是否可以使用 Javascript 库测试 SVG 元素?任何其他选项