因为我使用可变颜色的按钮,我需要添加内联css。悬停颜色是其他变量。我不能在内联css上添加悬停选择器,所以我必须使用js。我试着用. hover()来做,但是当我悬停按钮时,两种颜色都消失了。
代码:
$('.btn').hover( function() {
var $hover = $('.btn').attr('data-hover');
$(this).css( "background", $hover );
}, function() {
var $color = $('.btn').attr('data-color');
$(this).css( "background", $color );
});
HTML:
<button class="btn wpb_btn-small" style="background:#00aff0;" data-color="#00aff0" data-hover="#0cbbfc">Button</button>
您应该使用mouseenter和mouseleave事件:
http://api.jquery.com/mouseenter/
HTML
<button class="btn wpb_btn-small" style="background:#00aff0;" data-color="#00aff0" data-hover="#0cbbfc">Button</button>
JS
$(function() {
$('.btn').mouseenter(function() {
var bg = $(this).attr('data-hover');
$(this).css( "background", bg );
});
$('.btn').mouseleave(function() {
var bg = $(this).attr('data-color');
$(this).css( "background", bg );
});
});
现场演示
更新:事实上,使用悬停事件更好(参考投票结果:
$('.btn').hover( function() {
var $hover = $(this).attr('data-hover'); // <-- change to this , there are many .btn
$(this).css({ "background-color" : $hover }); // minor change
}, function() {
var $color = $(this).attr('data-color'); // same change
$(this).css({ "background-color" : $color }); // minor change here
});
$('. btn')
返回一个数组-如果页面上有更多的数组,请使用$(this)
它们都应该是“背景色”或“背景”,确保使用我上次编辑的相同内容
你甚至可能会发疯,把一切都放在一行
$(this).css({ "background-color" : $(this).attr('data-hover') });
问题内容: 我正在尝试将 鼠标悬停在div的背景颜色上 。 div {background:white;} div a:hover {background:grey; 宽度:100%; 显示:块; 文字修饰:无;} 只有 div内的 链接 获得背景色 。 如何使 整个div获得该背景色? 谢谢 编辑: 如何使整个div充当链接-当您单击该div上的任意位置时,将您带到某个地址。 问题答案: 当鼠标
问题内容: 我有一组标签,这些标签的rgba背景颜色不同,但alpha相同。是否可以编写单个CSS样式来仅更改rgba属性的不透明度? 代码的简单示例: 和样式 我想做的是编写一种样式,当将鼠标悬停在其上时会更改不透明度,同时保持颜色不变。 就像是 问题答案: 现在可以使用自定义属性: 如果自定义属性不是一个选项,请参见下面的原始答案。 不幸的是,不,您必须为每个单独的类再次指定红色,绿色和蓝色值
问题内容: 我有此jquery代码,可在单击时更改背景图像: 但是,它没有改变。有什么我想念的吗? 问题答案: 您需要包括该属性的一部分。
问题内容: 这是一个常见的问题。它几乎总是被关闭,作为以下问题的重复项:是否有CSS父选择器? 重复项很好地指出了CSS不能定位父元素。但是,它对于原始问题几乎没有提供任何指导,而原始问题可能会在XY问题中陷入困境。 在这种情况下… 悬停孩子时如何更改父母的背景颜色? …至少有一种CSS解决方案可以解决该问题。 问题答案: 尽管无法使用CSS选择父元素,但是您可以使用另一种方法来完成任务。 您希望
问题内容: 好的,所以我已经通过PHP动态生成了图像,因此不一定得到相同的图像。我花了最后四个小时扫描互联网,并尝试使用jQuery和/或CSS做无数次尝试,并且提出了以下可行的建议。 Market.png具有透明背景。 现在,以上工作。鼠标悬停时,它显示Market.png,透明背景部分为tile_4.jpg,鼠标移出时为tile_4.jpg。 我想知道的是:有什么方法可以使用jQuery或CS
我需要一些帮助我想改变工具提示基于按钮主色。 例如:如果按钮具有“主色”,则工具提示也应为“主色”。。。 超文本标记语言: jQuery: 实例:https://codepen.io/themes4all/pen/NWabvad