添加了一个没有应用悬停伪元素版本的类
Added class with a hover pseudo element version not being applied
我在这里有一个酒吧-http://jsfiddle.net/3pxnjocp/4/-翻转时会获得图像背景。当单击小框时,我想将条形图更改为红色,并在翻转时保持红色。有人明白为什么我的代码没有这么做吗?框单击会向栏中添加一个类,该类具有悬停伪元素版本,甚至具有!important
,但会选择具有图像背景的原始悬停样式。
谢谢。
$(function(){
var flag=false;
$('#flag').click( function() {
if(!flag) {
$('#flag').css('background-color', 'red');
$('#box').addClass('alwaysRed');
flag = true;
}
else {
$('#flag').css('background-color', 'white');
$('#box').removeClass('alwaysRed');
flag=false;
}
})
});
'none'
不应在background-image
中引用。
#box.alwaysRed:hover {
background-image: none; // no !important required
}
就是所需要的:
var flag=false;
$('#flag').click( function() {
if(!flag) {
$('#flag').css('background-color', 'red');
$('#box').addClass('alwaysRed');
flag = true;
}
else {
$('#flag').css('background-color', 'white');
$('#box').removeClass('alwaysRed');
flag=false;
}
})
#box {
width:100px;
height:26px;
border:1px solid black;
float:left;
}
#box:hover{
background-image: url('http://s3.postimg.org/wkct91733/bar_Background.png');
}
#flag {
width:26px;
height:26px;
border:1px solid black;
float:left;
margin-left:30px;
}
#box.alwaysRed {
background-color:red;
}
#box.alwaysRed:hover {
background-image: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box"></div>
<div id="flag"></div>
这是一个有效的解决方案http://jsfiddle.net/3pxnjocp/5/
#box.alwaysRed {
background:red !important;
}
您的jQuery代码正在按预期工作,只是css没有达到应有的效果。
相关文章:
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 如何选择当前元素以应用悬停效果?没有继承
- 如何在悬停被移除或消失时应用转换
- 如何在点击弹出窗口jQuery内应用悬停效果
- asp.net mvc 应用程序中的 Jquery 中的悬停方法
- 将悬停时将 CSS 应用于多个组件
- CSS :悬停、触摸屏和单页应用程序
- :渲染角度视图时应用的悬停状态
- 将悬停悬停应用于除第一个元素之外的所有元素
- jquery循环遍历锚点以匹配悬停锚点类并应用css
- 在jquery就绪调用函数中应用鼠标悬停代码
- 仅在鼠标悬停时应用ng鼠标悬停
- 如何将CSS应用于除悬停元素之外的其他元素
- 对子元素应用悬停效果
- 使用IE筛选器时不应用悬停样式,并且无法单击元素
- 添加了一个没有应用悬停伪元素版本的类
- 在Raphael路径中应用悬停事件
- 如何使用jQuery同时应用悬停和单击事件
- jquery悬停未应用于子节点
- 悬停样式不是't应用于复制的HTML