479
293

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

URLにアニメーションをつける

Last updated at Posted at 2020-08-13

はじめに

友達からおもしろいと言われ、このツイートを見ました。
「URLに動きがついていておもしろい!」と感動したので、自分も作成してみました。
GitHub Pagesに公開しましたのでこちらからURLの動きを見ることができます。

URLにアニメーションをつける

location.hashを使用し、URLの#以下に動きがつくようにします。

app.js
const moons = ["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"];

const loop = (arr, count = 0, time = 75) => {
  location.hash = arr[count % arr.length];
  setTimeout(loop.bind(this, arr, count + 1, time), time);
};

loop(moons);

上記のコードを実行すると以下のように動きます。

moon.gif

loop関数は第一引数に文字列を持つ配列を指定し、第二引数には配列の開始位置を数値で指定します。第三引数には何ミリ秒ごとにloop関数を実行するかを数値で指定します。

上記のコードを応用して以下のように記述することもできます。

app.js
const clocks = ["🕛", "🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚"];

const loop = (arr, count = 0, time = 75) => {...}

loop(clocks, 1, 100);

上記のコードを実行すると1時の絵文字から100ミリ秒間隔で動きます。

clock.gif

おわりに

普段の開発ではURLにアニメーションをつけることはほとんどありませんが、ポートフォリオなどにつけると少し遊び心があっていいのではないでしょうか。

参考URL

479
293
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
479
293

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?