課題【イベント操作】ーNo.09

課題内容

  • <概要>
  •  2つのdivタグ(縦/横が200px)を用意しましょう。
  •  このdivタグは、
  •  要素の境界がわかるように、
  •  枠線をつけておきましょう。
  •  1つ目のdivタグの背景色は赤色に、
  •  2つ目のdivタグの背景色は青色にしましょう。
  •  
  •  このdivタグに、
  •  マウスカーソルを当てた時には、
  •  「XXにマウスカーソルが当たりました」
  •  (XXは「赤色」か「青色」を表示)
  •  という文字列を、
  •  マウスカーソルをdivタグから外した時、
  •  「XXからマウスカーソルが外れました」
  •  (XXは「赤色」か「青色」を表示)
  •  という文字列を、
  •  アラートとコンソールに、
  •  それぞれ表示しましょう。
  •   

出力結果

表示としては、

このようなdivタグを表示します。

このあとは、

この赤色、青色のそれぞれに、

このように、

マウスカーソルを当てたり、外したりします。

マウスカーソルが当たっているか、

外れたかという点に関しては、

divタグの枠の中に、

(わかりやすく、背景を無くして説明します)

このようにマウスカーソルがあれば、

XXにマウスカーソルが当たりました
(XXは「赤色」か「青色」を表示)

をコンソールに表示します。

そして、

上記の状況から、

このように、

枠外にマウスのカーソルが動いた時に、

コンソールに以下の表示を行います。

XXからマウスカーソルが外れました
(XXは「赤色」か「青色」を表示)

ポイント(イベント操作)

DOMのイベント操作に関しては、

  • 対象のDOM操作の要素を取得する
  • 要素のイベントの処理を設定する

を行うことで、

イベントを操作することができます。

このイベント操作の方法に関しては、

以下の記事を参考にしてください。

イベント操作(要素にマウスカーソルが当たった時の操作)

イベント操作に関して、

「要素にマウスカーソルが当たった時の操作」

に関しては、

イベント操作の中でも、

「mouseenter」

を使って操作を行います。

このイベント操作の方法に関しては、

以下の記事を参考にしてください。

イベント操作(要素にマウスカーソルが外れた時の操作を行う)

イベント操作に関して、

「要素にマウスカーソルが外れた時の操作を行う」

に関しては、

イベント操作の中でも、

「mouseleave」

を使って操作を行います。

このイベント操作の方法に関しては、

以下の記事を参考にしてください。

答え

HTML

<html>
  <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
  </head>
  <body>
    <div class="custom-div red"></div>
    <div class="custom-div blue"></div>
  </body>
  <script type="text/javascript" src="sample.js"></script>
</html>

CSS

.custom-div {
  width: 200px;
  height: 200px;
  border: 1px solid #000;
  cursor: pointer;
}

.custom-div.red {
  background-color: red;
}

.custom-div.blue {
  background-color: blue;
}

javaScript

// DOMを取得する(赤色)
let sampleRed = document.querySelector('div.red');

// DOMを取得する(青色)
let sampleBlue = document.querySelector('div.blue');

// イベント操作
sampleRed.addEventListener('mouseenter', event => {

  // コンソールに表示
  console.log('赤色にマウスカーソルが当たりました');
});

// イベント操作
sampleRed.addEventListener('mouseleave', event => {

  // コンソールに表示
  console.log('赤色からマウスカーソルが外れました');
});

// イベント操作
sampleBlue.addEventListener('mouseenter', event => {

  // コンソールに表示
  console.log('青色にマウスカーソルが当たりました');
});

// イベント操作
sampleBlue.addEventListener('mouseleave', event => {

  // コンソールに表示
  console.log('青色からマウスカーソルが外れました');
});