javascript サイトを上下に移動させる
- 2021.03.28
- javascript
- javascript

javascriptで、transformのtranslateを使用して、サイトを上下に移動させるサンプルコードを掲載してます。ブラウザはchromeを使用しています。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 84.0.4147.105
translate使い方
transformのtranslate使用すると、指定した要素を上下に移動させることが可能です。
1 2 3 4 5 6 |
document.getElementById("id名").style.transform = "translate(x, y)"; x 水平方向の移動 y 垂直方向の移動 |
translate使い方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* html */ <div id="main" style="width: 200px; padding: 20px; margin-bottom: 10px; border: 1px dashed #333333;"> Hello Javascript!! </div> /* javascript */ 'use strict'; let kakudo = 0; let x = 25; setInterval("move()", 100); function move() { kakudo = kakudo + 2; kakudo = kakudo % 360; let p = kakudo * Math.PI / 180; let n = Math.sin(p) * x; document.getElementById("main").style.transform = "translate(0%," + n + "%)"; } |
実行結果をみると、指定した要素が上下に移動していることが確認できます。

macのsafari(13.1.1)でも同じ結果となります。

また、document.getElementByIdの省略と関数をアロー化して、簡潔に記述することもできます。
1 2 3 4 5 6 7 8 9 10 11 12 |
setInterval("move()", 100); const move = () => { kakudo = kakudo + 2; kakudo = kakudo % 360; let p = kakudo * Math.PI / 180; let n = Math.sin(p) * x; main.style.transform = "translate(0%," + n + "%)"; } |
サンプルコード
以下は、
「上へ」ボタンをクリックすると「要素」を上に、
「下へ」ボタンをクリックすると「要素」を下に移動させる
サンプルコードとなります。
※cssには「tailwind」を使用して、アロー関数で関数は定義してます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>mebeeサンプル</title> <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> </head> <script> let count = 1; const hoge = () => { count = count + 0.1; result.style.transform = "scale(" + count + "," + count + ")"; } const foo = () => { count = count - 0.1; result.style.transform = "scale(" + count + "," + count + ")"; } window.onload = () => { up.onclick = () => { hoge() }; down.onclick = () => { foo() }; } </script> <body> <div class="container mx-auto my-56 w-64 px-4"> <div id="sample" class="flex flex-col justify-center"> <p id="result" class="bg-gradient-to-r from-green-400 to-blue-500 text-white py-2 px-4 rounded-full mb-3 mt-4"> 要素</p> <button id="up" class="bg-gradient-to-r from-purple-400 via-pink-500 to-red-500 text-white py-2 px-4 rounded-full mb-3 mt-4">拡大</button> <button id="down" class="bg-gradient-to-r from-purple-400 via-pink-500 to-red-500 text-white py-2 px-4 rounded-full mb-3 mt-4">縮小</button> </div> </div> </body> </html> |
移動していることが確認できます。
-
前の記事
go言語 文字列に指定した文字列が含まれているか判定する 2021.03.28
-
次の記事
rails6 画像のパスを指定する 2021.03.28
コメントを書く