配置した画像がクリックごとにだんだん大きく成る流れを整理してみました。
ルート階層の中に・・・
picフォルダー(image.png)
という構造です。
<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>画像拡大</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: aquamarine;
}
img {
transition: transform 0.2s;
/* 拡大時の滑らかさ設定
数値を大きくすると滑らかに変化 */
cursor: pointer;
}
</style>
</head>
<body>
<img id="image" src="pic/image.png" alt="Fish Image" width="100">
/* 元データの横幅は1000px。100pxの縮小からスタート設定。
1000px以上の拡大は元データを拡大表示*/
<script>
const img = document.getElementById('image');
let scale = 1;
img.addEventListener('click', () => {
scale += 0.2;
/* 数値を大きくすると拡大率が大きくなります */
img.style.transform = `scale(${scale})`;
});
</script>
</body>
</html>
<!-- index.html -->
左端が実行直後、後は無限に拡大できます。