JavaScript入門3

はじめに(資料紹介)

別の授業でもこの周辺の話はしているので参考にして下さい。

また、リファレンス的なページ(代表的なもの)も紹介しておく

以下,クリックに対する応答を題材にサンプル提示する。 これをを読み解きながら基本を学びましょう

サンプル1 (ネイティブ版)

ソース

<!doctype html>
<span></span>
<span></span>
<span></span>
<style>
span {
	background-color:yellow;
	display: inline-block;
	width: 30px; height: 30px;
	margin: 10px;
}
.on {background-color: red; width: 100px;}
}
</style>
<script>
document.querySelectorAll('span').forEach((x)=>{
	x.addEventListener('click',(ev)=>{
		document.querySelectorAll('span').forEach((x)=>x.classList.remove('on'))
		ev.target.classList.add('on')
	})
})
</script>
解説1(タグとCSSについて)
解説2(スクリプトについて)

サンプル2 (jQuery版)

上半分はサンプル1と同じで、Script部だけ変更した。 (ソース

<!doctype html>
<span></span>
<span></span>
<span></span>
<style>
span {
	background-color:yellow;
	display: inline-block;
	width: 30px; height: 30px;
	margin: 10px;
}
.on {background-color: red; width: 100px;}
}
</style>
<script src="http://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script>
function c(ev){
	$('span').removeClass('on')
	$(ev.currentTarget).addClass('on')
}
$(()=>{
	$('span').click(c)
})
</script>

jQueryの典型的使い方

  1. $() の中に関数を書く(上記例では最後の3行)。
  2. $() の中に文字列を書く。
  3. $() の中に要素。

jQueryの勘所

要約すると以下のようになる。

  1. 取得したDOM要素が単数でも複数でも処理が同じ
  2. 多くの処理メソッド(値を取得するメソッドは当然除かれる)が、 レシーバ(処理の対象)となったjQueryオブジェクトを 値として返す。
    メソッドチェーン

付録 プログラムを使わないアプローチ

<!doctype html>
<span></span>
<span></span>
<span></span>
<style>
span {
	background-color:yellow;
	display: inline-block;
	width: 30px; height: 30px;
	margin: 10px;
}
span:hover {background-color: red; width: 100px;}
}
</style>

課題

今日の課題

今日学んだことを活用して
各自、何かかっこいいページを
作ってみる。