如果我在它上面盘旋而没有实际悬停在它上面,我想要嗅到链接会变成的颜色。我之所以这样做是因为我知道如何将其更改回使用动画,因为可以通过动态应用的各种皮肤设置颜色。我可以使用javascript或jquery(或者还有其他方法)吗?
编辑:我已经使用CSS过渡实现了这个,但我需要IE9及以下的javascript
答案 0 :(得分:6)
不,遗憾的是,这是不可能的:您可以使用getComputedStyle()
来检索有关伪元素(::before
/ ::after
)的信息,但不能使用:hover
伪-selector。
参考文献:
答案 1 :(得分:4)
您可以从样式表中获取值:http://jsfiddle.net/wt3qQ/
// code I found here: http://catcode.com/dominfo/getstyle2.html
function getStyleBySelector( selector )
{
var sheetList = document.styleSheets;
var ruleList;
var i, j;
/* look through stylesheets in reverse order that
they appear in the document */
for (i=sheetList.length-1; i >= 0; i--)
{
ruleList = sheetList[i].cssRules;
for (j=0; j<ruleList.length; j++)
{
if (ruleList[j].type == CSSRule.STYLE_RULE &&
ruleList[j].selectorText == selector)
{
return ruleList[j].style;
}
}
}
return null;
}
console.log(getStyleBySelector('a:hover').color);
console.log(getStyleBySelector('#link:hover').color);
答案 2 :(得分:3)
如果您要为颜色设置动画,那么(适用于现代浏览器)您可以启用颜色的转换,这样它就会自动设置为:hover
上的任何颜色}
使用您可以执行的代码
$('element').css({
'-webkit-transition':'color 0.5s',
'-moz-transition':'color 0.5s',
'-o-transition':'color 0.5s',
'transition':'color 0.5s',
});