javascript マウスオーバーでテキストの色を切り替える

javascript マウスオーバーでテキストの色を切り替える

javascriptで、マウスオーバーでテキストの色を切り替えるサンプルコードを記述してます。「onmouseover」と「onmouseout」でマウスオーバーとマウスアウトのイベント発生時にstyleを指定することで可能です。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.88

onmouseover使い方

「onmouseover」と「onmouseout」を使用すれば、マウスオーバーとマウスアウト時に行う処理を設定することが可能です。このイベントを使用してテキストの色を切り替えます。

<div id="txt" onmouseover="hoge();" onmouseout="foo();">Hello World</div>

<script>

//マウスオーバー時の処理を記述
function hoge(){
  let elm = document.getElementById("txt");
  elm.style.color = "red"; // テキストの色を変更する
}

//マウスアウト時の処理を記述
function foo(){
  let elm = document.getElementById("txt");
  elm.style.color = "black"; // テキストの色を元に戻す
}

</script>

実行結果

イベントを設定しても、同じです。

<div id="txt">Hello World</div>

<script>

let elm = document.getElementById("txt");

// マウスオーバーイベントを設定
elm.onmouseover = function () {
  elm.style.color = "red";
};

// マウスアウトイベントを設定
elm.onmouseout = function () {
  elm.style.color = "black";
};

</script>

イベントリスナーにも登録できます。

<div id="txt">Hello World</div>

<script>

let elm = document.getElementById("txt");

// マウスオーバーイベントを設定
elm.addEventListener( 'mouseover', function () {
  elm.style.color = "red";
});

// マウスアウトイベントを設定
elm.addEventListener( 'mouseout', function () {
  elm.style.color = "black";
});

</script>

また、javascript部はwindowオブジェクトやdocument.getElementByIdを省略して「id名」のみで記述することも可能です。関数もアロー関数を使用できます。

<div id="txt">Hello World</div>

<script>

// マウスオーバーイベントを設定
txt.addEventListener( 'mouseover', function () {
  txt.style.color = "red";
});

// マウスアウトイベントを設定
txt.addEventListener( 'mouseout', function () {
  txt.style.color = "black";
});

</script>

サンプルコード

以下は、
マウスオーバーするとテキストの色を変更して、マウスアウトすると元に戻す
サンプルコードとなります。

※cssには「bootstrap material」を使用してます。

<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <title>mebeeサンプル</title>
  <!-- MDB -->
  <link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.2.0/mdb.min.css" rel="stylesheet" />
</head>

<body>
  <div class="container text-center w-25" style="margin-top:150px">

    <h2><span id="result" class="badge badge-success">結果</span></h2>

  </div>

  <script>

    // マウスオーバーイベントを設定
    result.addEventListener('mouseover', function () {
      result.style.color = "white";
    });

    // マウスアウトイベントを設定
    result.addEventListener('mouseout', function () {
      result.style.color = "black";
    });

  </script>
</body>

</html>

切り替わっていることが確認できます。