使用jquery更改颜色将删除悬停颜色
Changing color with jquery removes hover color?
所以我有:
#selection_menu .secondary_options button:hover { color: #000066; }
它在我的网站上运行得很好。。
然而,当点击其中一个按钮时,我会运行一个javascript函数,其中包含:
$('button').css("color","#FFFFFF");
if(!$sameTile)
$($tileSelector).css("color","#000066");
这样,当单击按钮时,当鼠标移开时,高亮显示的颜色会保持不变。
我遇到的问题是,在第一次运行后,按钮在高亮显示时停止更改颜色。我该怎么绕过这个?还是这是正常行为?
我正在尝试添加一个类,但无法使其工作:http://jsfiddle.net/sUKkb/1/
我的一些代码:索引:http://pastebin.com/7gYu9YG8css:http://pastebin.com/Jz1bvzrr
或者这可能更有帮助:http://staging.easyzag.com/style.css
视图源:http://staging.easyzag.com/index.php?section=drink
这里的问题是jQuery添加了一个内联样式,该样式将覆盖CSS中的规则。另一个问题是$('button').css('color','#000666')
将内联样式应用于ALL按钮。
我建议在CSS中添加一条规则,用于默认值和粘性状态,如下所示:
button { color:#fff }
button:hover { color:#fff }
.sticky-state { color:#000066 }
然后在你的jQuery中,你这样做,而不是你正在做的:
`$(/*add your selector here*/).addClass('.sticky-state');
我相信这(通常)就是你想要的:
jsFiddle:http://jsfiddle.net/sUKkb/5/
HTML:
<button class="not-sticky">Hello</button>
JS:
$('button').on('click', function(e){
$(this).removeClass('not-sticky').addClass('sticky-state');
});
注意,这确实需要一个相对较新的jQuery版本(1.7+)
$('button').live('click', function(e){
$(this).removeClass('not-sticky').addClass('sticky-state');
});
或
$('button').click(function(e){
$(this).removeClass('not-sticky').addClass('sticky-state');
});
用于较旧版本的jQuery。
如果这会给您带来麻烦,您可以在没有jquery的情况下完成它。
为悬停效果添加onmouseover和onmouseout处理程序,并添加一个onclick,它首先取消onmousever和onmouse out,然后设置所需的颜色。
试试这个;在您的CSS中;
.new_class{
color:#000066
}
在您的JS 中
$('button').css("color","#FFFFFF");
if(!$sameTile){
$($tileSelector).removeClass()('.your_previous_class');
$($tileSelector).addClass('.new_class');
}
或者你可以试试
$($tileSelector).css({ 'color':'#000066' });
这是小提琴http://jsfiddle.net/sUKkb/2/(无类别)
还有这个http://jsfiddle.net/sUKkb/3/(带等级)
还有这个http://jsfiddle.net/sUKkb/4/使用ID而不是类使按钮成为唯一的
我认为,你想要的是一个像下面小提琴一样的切换解决方案;
http://jsfiddle.net/sUKkb/7/
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 在 ul 下更改内容的字体颜色,在悬停时
- 如何在悬停时更改SVG图像的颜色
- 悬停时颜色变为灰度在IE11中不起作用
- JQuery:悬停时文本颜色切换
- 更改鼠标悬停在选择菜单上的颜色
- 文本的实时预览使链接在悬停时不会更改背景颜色
- FullCalendar 2.3.0悬停时更改日期颜色
- 当鼠标悬停在不同颜色上时,传单突出显示标记
- 使用jquery更改颜色将删除悬停颜色
- 将鼠标悬停在图像上,图像的不透明度和图像下方标题的颜色会发生变化..同样,当标题变成两行时,它会破坏格式
- 将鼠标悬停在切片上时更改d3.js饼图标签的颜色
- 如何在Javascript中悬停,将背景颜色更改为特定的类
- 悬停时使用Javascript/jQuery淡化自定义SVG的颜色
- Highcharts-更改悬停点的颜色
- 使用jQuery更改背景时,链接将丢失css背景颜色悬停属性
- Jquery改变背景颜色悬停,不断闪烁
- 如何循环通过背景颜色悬停与jQuery
- 切换CSS背景颜色悬停和点击使用Javascript
- 背景颜色悬停淡出效果CSS