所以我设置了一个具有不同背景的菜单:悬停颜色.按钮背景将为灰色,并将按钮animate()悬停在其各自的颜色上.
我可以抓住我悬停在其上的任何按钮的原始默认颜色,如下所示:
var origBackgroundColor = $(this).css('background-color');
Run Code Online (Sandbox Code Playgroud)
但是有可能从我设置的css:hover属性中获取颜色吗?我将为每个按钮设置:悬停颜色,因为如果有人没有启用JS,导航仍然会有:悬停效果有效.
像这样的东西(或者有另一种方式):
var hoverColor = $(this).css('background-color:hover');
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?这可能吗?
我敢肯定的是,为了获得background-color对的:hover伪,它将首先需要一个浏览器事件应用的样式.换句话说,我认为当你用鼠标悬停时你可以得到它,但直到那时才能.
可能是你可以等到用户进行悬停,然后抓取颜色,用默认值覆盖它,存储它以供将来参考,然后做动画,但这可能比简单地协调你的JS和CSS更麻烦.
像这样:http://jsfiddle.net/UXzx2/
// grab the default color, and create a variable to store the hovered.
var originalColor = $('div').css('background-color');
var hoverColor;
$('div').hover(function() {
// On hover, if hoverColor hasn't yet been set, grab the color
// and override the pseudo color with the originalColor
if( !hoverColor ) {
hoverColor = $(this).css('background-color');
$(this).css('background-color',originalColor);
}
// Then do your animation
$(this).animate({backgroundColor:hoverColor});
});
Run Code Online (Sandbox Code Playgroud)