改变悬停样式颜色效果的函数
CSS and Javascript: Function to change color effects hover style
我有一个元素,我为CSS中的悬停状态设置了一个文本颜色和一个不同的文本颜色。我有一些javascript,当我点击元素时,它会改变元素的文本颜色。它工作得很好,除了它也影响悬停CSS,我想保持相同的预点击悬停CSS。无论如何,要么停止悬停css的影响或设置悬停css ?
http://jsfiddle.net/77zg8/CSS:#test {color: blue;}
#test:hover {color:green;}
HTML: <div id="test" onClick="javascript:change()">qwerty</div>
Javascript: function change() {document.getElementById("test").style.color="#cc0000";};
不直接设置颜色,使用类会更简洁(也更有效)。
CSS:#test {color: blue;}
#test.active {color:red;}
#test:hover {color:green;}
JavaScript: function change() {
document.getElementById("test").className='active';
}
演示使用类!
#test {color: blue;}
#test:hover, #test.foo:hover {color:green;}
#test.foo { color : #cc0000 }
基本JavaScript:
function change() {document.getElementById("test").className = "foo"; };
当然你必须切换类
您遇到的问题是css中的专一性概念。专用性控制应用什么规则以及以什么顺序。因为javascript更新了style元素,所以它将覆盖该专一性并擦除之前所有关于颜色样式的规则。因此,取而代之的是给元素添加一个类,例如"clicked"。点击的地方就是你的新颜色
.clicked{color:red}
function change() {document.getElementById("test").class += " clicked"};
您可以使用!important
JSFIDDLE
#test:hover {color:green!important;}
相关文章:
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- Javascript通过列表项的函数和css来更改背景颜色
- 使用角度图时,我可以用函数定义数据点颜色吗
- 为什么不是't此AJAX函数正在更改颜色
- 更改javascript更改函数结果的颜色
- 这个颜色函数是如何工作的
- 我正在编写一个 Javascript 函数,以便将表中的每一行着色为不同的颜色.为什么我的代码不起作用
- 为什么函数在画布中返回错误的颜色
- 如何使样式元素的一部分成为函数?(IE:颜色:$random而不是颜色:红色)
- 通过 loadURL 函数加载标记图层时更改地图框中的标记颜色
- 创建RGB颜色函数,javascript错误
- 颜色函数不会在 c3chart 指令中触发
- JavaScript 函数来设置背景颜色的样式
- AJAX:使用数组值的背景颜色更改函数不起作用
- 如何创建一个关闭jQuery颜色框的全局函数
- jquery函数根据特殊字符更改文本颜色
- 如何将颜色选择器函数集成到动态文本字段中
- Javascript函数更改文本颜色
- 将十六进制颜色传递到函数时,firefox中存在非法字符