2

実際にホバリングせずに、ホバリングした場合のリンクの色を嗅ぎたいです。私がこれをやりたい理由は、動的に適用されるさまざまなスキンを介して色を設定できるため、アニメーションを使用して何を変更するかを知っているからです。javascriptまたはjqueryを使用してこれを行うことはできますか(または他の方法はありますか)?

編集:CSSトランジションを使用してすでにこれを実装していますが、IE9以下のjavascriptが必要です

4

3 に答える 3

6

いいえ、残念ながらこれは不可能です。疑似要素 ( / )getComputedStyle()に関する情報を取得するために使用できますが、疑似セレクターは使用できません。::before::after:hover

参考文献:

于 2012-11-30T18:57:24.530 に答える
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);
于 2012-11-30T19:41:37.363 に答える
3

色をアニメーション化する場合は、(最新のブラウザーの場合) 色のトランジションを有効にすることができます。これにより、オンになったものに自動的にアニメーション化されます。:hover

あなたができるコードで適用するには

$('element').css({
   '-webkit-transition':'color 0.5s',
   '-moz-transition':'color 0.5s',
   '-o-transition':'color 0.5s',
   'transition':'color 0.5s',
});
于 2012-11-30T18:58:36.687 に答える