w i p
JavaScript
View Code

Web Interaction Patterns

A collection of common web interaction patterns implemented in JavaScript.

Web制作でよく使われる動きを理解と検証を目的にまとめています。

Tab Menu

タブをクリックすると各該当のコンテンツが表示されます。

  • タブをクリックするとコンテンツが下から上にフェードインして表示されます。
  • GSAPを使用してアニメーションを実装しています。
  • タブ切替時にコンテンツ部分の文章量の違いによるガタツキを防止するため、親要素にgridを指定して要素を重ねて配置し、切替の際はvisibility: hidden;とopacity:0;を設定して文章量が増えた場合を考慮しています。

行く川のながれは絶えずして、しかも本の水にあらず。よどみに浮ぶうたかたは、かつ消えかつ結びて久しくとゞまることなし。世の中にある人とすみかと、またかくの如し。玉しきの都の中にむねをならべいらかをあらそへる、たかきいやしき人のすまひは、代々を經て盡きせぬものなれど、これをまことかと尋ぬれば、昔ありし家はまれなり。或はこぞ破れ(やけイ)てことしは造り、あるは大家ほろびて小家となる。住む人もこれにおなじ。(青空文庫より)

親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談に、いくら威張っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃したからである。小使に負ぶさって帰って来た時、おやじが大きな眼をして二階ぐらいから飛び降りて腰を抜かす奴があるかと云ったから、この次は抜かさずに飛んで見せますと答えた。(青空文庫より)

Accordion

質問事項をクリックすると回答部分が開閉します。

  • コンテンツの高さを自動取得し、高さに応じたアニメーションを実行しています。
  • 連打防止策としてアニメーション実行中はクリックイベントを無効化しています。
  • GSAPを使用してアニメーションを実装しています。
FAQページを作成する目的は何ですか?

こちらに回答が入ります。親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかも知れぬ。別段深い理由でもない。(青空文庫より)

良いFAQの作り方のコツはありますか?

こちらに回答が入ります。親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談に、いくら威張っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃したからである。小使に負ぶさって帰って来た時、おやじが大きな眼をして二階ぐらいから飛び降りて腰を抜かす奴があるかと云ったから、この次は抜かさずに飛んで見せますと答えた。(青空文庫より)

Hamburger Menu

ヘッダー右にある「MENU」ボタンをクリックするとナビゲーションメニューがモーダルで表示されます。

  • 「CLOSE」ボタンをクリックまたはEscapeキーを押すとナビゲーションメニューが閉じます。
  • ナビゲーションメニュー表示中は背景のスクロールを無効化し、スクロール位置を保持します。
  • 各メニューをクリックするとスムーススクロールで該当のセクションに移動します。
  • モーダル表示時に起こるスクロールバー切り替えによるレイアウトシフト(ガタつき)をscrollbar-gutter: stable; で対策しています。

Sticky CTA Button

ScrollTriggerを使用し、スクロール連動で画面右下にCTAボタンを表示します。

  • 画面上端がheaderの下端に達したらCTAボタン(View Code)を表示します。
  • 画面下端がSticky CTA Buttonセクションの下端に達したらCTAボタンを非表示します。
  • SPサイズ(767px以下)ではCTAボタン非表示になります。
  • 薄暗い室内にアーチ形の大きな窓からやわらかい光が床に反射している様子の白黒画像

    It is only with the heart that one can see rightly. What is essential is invisible to the eye.

  • 何もない原っぱにブランコとシーソーがあり、手前には2人の人物の長い影が伸びるの白黒画像

    All grown-ups were once children, but only few of them remember it.

  • ひび割れた荒野にポピーの花が1本咲く白黒画像

    Flowers are weak creatures. They are naive. They reassure themselves as best they can. They believe that their thorns are terrible weapons.

  • ひび割れた長い1本道の両端に葉っぱのない街路樹が立ち、画面中央奥に小さな黒い人影が見える白黒画像

    Growing up is not the problem, forgetting is.

  • 無数の星が輝き画面中央に1本の木のシルエットが見え、後ろには湖面が広がる白黒画像

    If you love a flower that lives on a star, it is sweet to look at the sky at night. All the stars are a-bloom with flowers.

  • 昼間の湖面に突き出た橋の先端に何人かの人影がありその中央には背の高い1本の木が立っている白黒画像

    Nothing in the universe can be the same.

  • 画面中央、夜の海に太陽が沈む様子を見る3人の人物のシルエットが映しだされる白黒画像

    One day, I watched the sun setting forty-four times. You know, when one is so terribly sad, one loves sunsets.

  • 草原に違う方向を向く2つの椅子があり、その上を大きな鳥が飛んでいる様子の白黒画像

    Words are the source of misunderstandings.

  • 湖の無効に山が連なり、画面下には石畳の上に立つ男性と両サイドに木のシルエットが見える白黒画像

    To forget a friend is sad. And if I forget him, I may become like the grown-ups who are no longer interested in anything but figures.

  • 画面手前の机には本とペン、眼鏡と飲みかけのコーヒーが置かれ、室内から見える窓の奥に曲がった1本道の先に大きな木が見える白黒画像

    It doesn’t matter that you are not here in person as long as you are here in my heart.

  • 白く広い室内の中央に大きな窓枠が立ち、その窓から床に白い光が差し込む。室内奥には薄い人影が見える白黒画像

    Happiness doesn’t lie in the objects we gather around us. To find it, all we need to do is open our eyes.

  • 画面手前に木製のボードが岸辺に停留し、男性が湖の向こう側にある浮島を眺める白黒画像

    Sometimes, there is no harm in putting off a piece of work until another day.

  • 画面下半分には砂漠が広がり中央に枯れかけた木が1本立ち、手前には長く人影が伸びている白黒画像

    I have always loved the desert. One sits down on a desert sand dune, sees nothing, hears nothing. Yet through the silence something throbs, and gleams.

  • 無数の星が広がる夜空の下に一本の木が立ち、山向こうから半円上に光が差し込み木のシルエットを映し出す白黒画像

    All men have stars, but they are not the same things for different people. For some, who are travelers, the stars are guides. For others they are no more than little lights in the sky.

  • 昼間の海辺にヨットの模型がおかれ、遠景には柱のようなものが見える。画面右下端から人影が長く伸びる白黒画像

    The fact is that I did not know how to understand anything! I ought to have judged by deeds and not by words.

Infinite Slider

  • Images: Adobe Firefly / Nano Banana Pro
  • Quotes: The Little Prince
  • Tech: Splide(Auto-scroll)