DARKMODE

POST

2026.08.10ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
2026.05.11解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
2026.05.06ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
2026.05.01デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
2026.04.23打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー
VIEW MORE

MENU

ALL POSTS
KNOWLEDGE
ABOUT
CONTACT

WORKS

COMMUNITY

SEARCH

  • イロイロデザインラボラトリ

  • PORTFOLIO
  • COMMUNITY
  • CONTACT

リンクをクリックしたらスクリーンを表示させてページを遷移する

公開:2023年7月13日 更新:2025年2月26日
ARCHIVES/CREATE IT

リンクをクリックして他のページに遷移をするときにカーテンのようなスクリーンを表示させるリッチな演出を付けてみましょう。

ページ内リンクについてはCSSセレクタのnotを使って、「aのhrefに#を含まないものにaddClassでclassを追加する」という処理を行うのがコツです。

CONTENTS

  • サンプル
  • HTML
  • CSS
    • html
    • .screen
    • .screen-active
  • JavaScript

サンプル

サンプルを見てみましょう。

サンプルでは、Aのリンクをクリックするとページ遷移するときに下からブラックのスクリーンが表示されますが、Bをクリックしてもページ内遷移のためスクリーンは表示されません。

もういちど試すには右下にある「Rerun」をクリックしてください。

See the Pen
リンクをクリックしたらスクリーンを表示させてページを遷移する
by イロイロデザインラボラトリ (@iroirodesignlab)
on CodePen.

HTML

まずはページ全体を覆うスクリーン部分を作ります。
HTMLはこんな感じです。

<div class="screen"></div>

THE シンプルですね。

このコードは<body>の直後に書いておきましょう。このHTMLにはあらかじめscreenというclassを付けていて、<a href=””>というリンクがクリックされたときにjQueryでscreen-activeというclassを追加します。

CSS

CSSはこんな感じです。

html {
  scroll-behavior: smooth;
}

.screen {
  position: fixed;
  top: 0;
  left: 0;
  background: #000000;
  min-width: 100%;
  min-height: 100%;
  z-index: 999;
  transform: translate(0, 100%);
  transition: all 0.5s cubic-bezier(0.79, -0.01, 0.29, 1);
}

.screen-active {
  transform: translate(0, 0);
}

html

htmlにあるscroll-behavior: smooth;は、ページ内リンクをスムーススクロールするためのプロパティです。スクリーンを表示させるのに関係ありませんので無視してもだいじょうぶです。

html {
  scroll-behavior: smooth;
}

.screen

position:fixed;で場所を固定してページ全体を覆うようにmin-width: 100%;、min-height: 100%;にしておき、transformのtraslateを使ってあらかじめページの外に出しておきます。

.screen {
  position: fixed; // 要素を固定させる
  top: 0;
  left: 0;
  background: #000000;
  min-width: 100%;
  min-height: 100%;
  z-index: 999;
  transform: translate(0, 100%); // ページの外に出す
  transition: all 0.5s cubic-bezier(0.79, -0.01, 0.29, 1); // アニメーションさせる
}

また、スクリーンが表示されるときのアニメーションはtransitionを使います。cubic-bezierを使ってニュアンスの動きにしておくとリッチになります。

.screen-active

.screen-activeはリンクがクリックされたときにjQueryのaddClassでclass=”screen”に付与されるclassです。

.screen-active {
  transform: translate(0, 0);
}

transform: translate(0, 100%);であらかじめページの外に出ていた要素にscreen-activeというclassを付けて、translateの位置を初期値まで戻します。

JavaScript

JavaScriptはjQueryを使います。まずはjQuery本体を読み込んで、その下に実行するためのコードを書きます。別途、script.jsなどのファイルを用意しておくと管理しやすくなるので、そっちのほうが良いかもしれません。

$("a:not([href^='#'])").on("click", function () {
  $(".screen").addClass("screen-active");

  event.preventDefault();
  var link = $(this).attr("href");
  setTimeout(function () {
    location.href = link;
  }, 500);
});

event.preventDefaultの部分は少しややこしく、リンクをクリック → ページ遷移させない → 500ミリ秒待つ → ページ遷移させるという動作にします。この「500ミリ秒待つ」という時間と、CSSのtransitionで指定した0.5sという時間を同じにすることで、スクリーンが表示されたらページ遷移するようにします。

MOST POPULAR

TOP FAVORITES

TRENDING NOW

  • ウェブデザイナーがWordPressでブログを始めたほうが良い理由
  • 総額はいくら?フリーランスウェブデザイナーが仕事で使ったお金 2024年バージョン
  • できるだけ低予算で白色を基調にしたワークデスクを作ってみよう
  • ウェブデザイナーのポートフォリオの作り方
  • 現役講師が教えるウェブデザインスクールのメリットとデメリット
  • Googleアラートを使って欲しい情報を効率よく収集する

SHARE

SEARCH

AUTHOR

ウェブデザイナーときどきオンラインスクールで講師をしています。世間話や相談はDiscordからどうぞー。

my13ootleg
ABOUT US
PORTFOLIO
CONTACT

メンターやってます。

COMMUNITY

LATEST POSTS

  • no image ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
  • no image 解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
  • no image ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
  • no image デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
  • no image 打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー

MOST POPULAR

TOP FAVORITES

CATEGORIES

  • ARCHIVES (113)
  • COLUMN (3)
  • CREATE IT (16)
  • KNOWLEDGE (43)
    • DTP DESIGN (5)
    • MARKETING (2)
    • WEB DESIGN (31)
    • WORDPRESS (6)
  • NOTE (44)
    • REVIEW (16)
  • TECHNIC (10)
    • ILLUSTRATOR (2)
    • PHOTOSHOP (3)
    • VSCODE (5)
  • WORKS (37)
    • CLIENT (30)
    • PRIVATE (7)



HOME › ARCHIVES › リンクをクリックしたらスクリーンを表示させてページを遷移する
© イロイロデザインラボラトリ :)