JavaScript を使用して CSS :hover プロパティを動的に変更する
使い慣れたプロパティを介して JavaScript で CSS :hover プロパティを操作できると考えるのは直感的です物体。ただし、:hover は、マウスが要素の上に置かれたときにのみ要素にスタイルを適用する疑似クラスです。これは、プロパティ オブジェクトを通じて直接アクセスできないことを意味します。
JavaScript で :hover プロパティを操作するには、プロパティ オブジェクトを超えて、スタイルシート自体を操作する必要があります。これはいくつかの方法で実現できますが、それぞれに長所と短所があります。
CSS の直接変更:
document.getElementsByTagName("style")[0].innerHTML = 'table td:hover{ background-color: #00ff00 }';
直接変更は迅速に行えますが、CSS を上書きします。既存のスタイルシートを使用すると、予期しない結果が生じる可能性があります。
新しいスタイルシートを作成するスタイルシート:
var css = 'table td:hover{ background-color: #00ff00 }'; var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style);
このメソッドでは、必要な :hover 変更のみを含む新しいスタイルシートを作成することで、より制御されたスタイルの変更が可能になります。ただし、複数のスタイルシートを維持するオーバーヘッドも発生します。
現在のスタイルシートに新しいルールを追加する:
if (style.styleSheet) { style.styleSheet.cssText += 'table td:hover{ background-color: #00ff00 }'; } else { style.appendChild(document.createTextNode('table td:hover{ background-color: #00ff00 }')); }
このアプローチでは、追加することによって現在のスタイルシートを拡張します。新しい:hover ルール。これは、直接の変更と新しいスタイルシートの作成の間のバランスを提供します。
最終的に、選択される方法は、必要な変更の複雑さと Web サイト全体のアーキテクチャによって異なります。 JavaScript を使用して :hover プロパティを動的に変更すると、インタラクティブな効果を柔軟に作成できます。
以上がJavaScript を使用して CSS :hover プロパティを動的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。