前回までのパラパラ漫画作成シリーズは以下のようになります。
〇【ワードプレス】JavaScriptを使用してボタンをクリックするとポップアップを表示させる。
〇【ワードプレス】JavaScriptの正しい書き方は?
〇【ワードプレス】JavaScriptでページをコマ送り・戻りさせた。
〇【JavaScript】1つのボタンでパラパラ漫画の再生/停止をやってみた。
〇【JavaScript】マウスのホイールと「パッシブリスナ」と「preventDefault」とブラウザのデフォルト処理について。
今回はマウスのホイールでパラパラ漫画が動作するように実装していきます。
完成コード
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>sample1</title>
</head>
<body>
<img id="imagePlace" src="https://lifeinfo-navi.com/wp-content/uploads/2022/02/1.png"/>
<p></p>
<script type="text/javascript">
// img要素を取得する
let img = document.getElementById("imagePlace");
// 表示する画像番号
let index = 1;
document.getElementById("imagePlace").addEventListener("wheel",wheelpa,{passive:false});
function wheelpa(event){
event.preventDefault();
if (event.wheelDelta == -120){
console.log("手前")
index++;
if(index>5){ //画像の枚数を指定する。
index=1
}
img.src = "https://lifeinfo-navi.com/wp-content/uploads/2022/02/" + index + ".png";
}
if (event.wheelDelta == 120){
console.log("おく")
index--;
if(index<1){ //画像の枚数を指定する。
index=5
}
img.src = "https://lifeinfo-navi.com/wp-content/uploads/2022/02/" + index + ".png";
}
}
</script>
</body>
</html>
let img = document.getElementById("imagePlace");
let index = 1;
document.getElementById("imagePlace").addEventListener("wheel",wheelpa,{passive:false});
function wheelpa(event){
event.preventDefault();
if (event.wheelDelta == -120){
console.log("手前")
index++;
if(index>5){ //画像の枚数を指定する。
index=1
}
img.src = "https://lifeinfo-navi.com/wp-content/uploads/2022/02/" + index + ".png";
}
if (event.wheelDelta == 120){
console.log("おく")
index--;
if(index<1){ //画像の枚数を指定する。
index=5
}
img.src = "https://lifeinfo-navi.com/wp-content/uploads/2022/02/" + index + ".png";
}
}
実行結果
JavaScriptでイベントの発生を検知し、何らかの処理を実行するには、イベントが発生したときに実行される関数(アクションと呼びます)を、イベントハンドラまたはイベントリスナに登録します。
前回の記事でご紹介したように、画像上でのマウスのホイール操作時は、ブラウザのデフォルト処理を抑止するために、「イベントリスナ」を使用しました。
〇【JavaScript】マウスのホイールと「パッシブリスナ」と「preventDefault」とブラウザのデフォルト処理について。