我正在尝试删除div onmouseover的背景颜色。
$("#LoginTab").mouseover(function(){
//Gives me white color
$("#LoginTab").animate({backgroundColor: ''},1000);
});
$("#LoginTab").mouseout(function(){
$("#LoginTab").animate({'backgroundColor':'#babfde'},1000);
});
这是CSS
#LoginTab
{
background-color:#babfde;
padding-top:5px;
padding-bottom:5px;
opacity:1;
border:#babfde 2px solid;
}
所以我想要的效果是将删除背景颜色,这将只给我边界和东西里面的那个div onmouseover
答案 0 :(得分:24)
您需要使用transparent
,空字符串不是有效的背景颜色。
您也可以使用hover
标志来执行此操作:
#LoginTab:hover
{
background-color: transparent;
}
答案 1 :(得分:6)
检查这个小提琴
http://jsfiddle.net/vigneshvdm/xjhBT/
你只需要调整css,不需要脚本来执行此操作
#LoginTab:hover
{
background-color:transparent;
padding-top:5px;
padding-bottom:5px;
opacity:1;
border:#babfde 2px solid;
}
答案 2 :(得分:3)
你可以用CSS使用悬停标志:
#LoginTab:hover
{
background: none;
}
答案 3 :(得分:2)
您可以使用hover
jQuery函数
将一个或两个处理程序绑定到匹配的元素,以便在鼠标指针进入和离开元素时执行。 [documentation]
$('#LoginTab').hover(
function(){
$(this).animate({'backgroundColor': 'transparent' }, 100);
},
function(){
$(this).animate({'backgroundColor': '#babfde'}, 100);
}
);
您只需使用CSS过渡即可:
#LoginTab {
background-color: #AD310B; /* <--- your color here */
-webkit-transition: background-color 1000ms linear;
-moz-transition: background-color 1000ms linear;
-o-transition: background-color 1000ms linear;
-ms-transition: background-color 1000ms linear;
transition: background-color 1000ms linear;
height: 100px;
}
#LoginTab:hover {
background-color: transparent;
-webkit-transition: background-color 1000ms linear;
-moz-transition: background-color 1000ms linear;
-o-transition: background-color 1000ms linear;
-ms-transition: background-color 1000ms linear;
transition: background-color 1000ms linear;
}
在这两种情况下,您都可以使用rgba()
:
rgba(0, 0, 0, 0.5);
^ ^ ^ ^------ The opacity
Red -┘ | └----- Blue
└ Green
答案 4 :(得分:2)
在jQuery中尝试这种简单的方法:
$(document).ready(function() {
$("#LoginTab").mouseouver(function() {
var p = $("#LoginTab").css("background-color", "none");
p.hide(1500).show(1500);
p.queue(function() {
p.css("background-color", "#color");
});
});
});
答案 5 :(得分:2)
backgroundColor属性不能被视为 animate()函数中的其他属性
除非如下所述,否则应将所有动画属性设置为单个数值。 大多数非数字属性无法使用基本jQuery功能进行动画处理(例如,宽度,高度或左边可以设置动画,但背景颜色不能,除非* 使用jQuery.Color() 插件 *)。除非另有说明,否则属性值被视为多个像素。可以在适用的情况下指定单位em和%。 参考 http://api.jquery.com/animate/
jQuery.Color()你必须从https://github.com/jquery/jquery-color
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!--<link rel="stylesheet" href="menu.css">-->
<script src="Scripts/jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="Scripts/jquery.color-2.1.2.min.js"></script>
</head>
<body>
<style>
#LoginTab
{
background-color: #babfde;
padding-top: 5px;
padding-bottom: 5px;
opacity: 1;
border: #babfde 2px solid;
}
</style>
<div id="LoginTab">
login tab</div>
<script type="text/javascript">
$("#LoginTab").mouseenter(function () {
$(this).animate({ backgroundColor: '#ffffff' }, 1000); //gives me white color
});
$("#LoginTab").mouseleave(function () {
$(this).animate({ backgroundColor: '#babfde' }, 1000);
});
</script>
</body>
答案 6 :(得分:2)
检查这个小提琴:https://jsfiddle.net/rakumoyal/n762fdg1/2/
如小提琴所示,你可以用css来做..不需要使用jquery。
#LoginTab:hover
{
background-color:transparent;
}
它会正常工作。享受代码。