実際にホバリングせずに、ホバリングした場合のリンクの色を嗅ぎたいです。私がこれをやりたい理由は、動的に適用されるさまざまなスキンを介して色を設定できるため、アニメーションを使用して何を変更するかを知っているからです。javascriptまたはjqueryを使用してこれを行うことはできますか(または他の方法はありますか)?
編集:CSSトランジションを使用してすでにこれを実装していますが、IE9以下のjavascriptが必要です
実際にホバリングせずに、ホバリングした場合のリンクの色を嗅ぎたいです。私がこれをやりたい理由は、動的に適用されるさまざまなスキンを介して色を設定できるため、アニメーションを使用して何を変更するかを知っているからです。javascriptまたはjqueryを使用してこれを行うことはできますか(または他の方法はありますか)?
編集:CSSトランジションを使用してすでにこれを実装していますが、IE9以下のjavascriptが必要です
いいえ、残念ながらこれは不可能です。疑似要素 ( / )getComputedStyle()
に関する情報を取得するために使用できますが、疑似セレクターは使用できません。::before
::after
:hover
参考文献:
スタイルシートから値を取得できます: 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);
色をアニメーション化する場合は、(最新のブラウザーの場合) 色のトランジションを有効にすることができます。これにより、オンになったものに自動的にアニメーション化されます。:hover
あなたができるコードで適用するには
$('element').css({
'-webkit-transition':'color 0.5s',
'-moz-transition':'color 0.5s',
'-o-transition':'color 0.5s',
'transition':'color 0.5s',
});