从以下位置获取css值:使用.css() - jquery悬停

Nil*_*s_e 12 css jquery hover

所以我设置了一个具有不同背景的菜单:悬停颜色.按钮背景将为灰色,并将按钮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)

有任何想法吗?这可能吗?

use*_*716 6

我敢肯定的是,为了获得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)