ちいつる

オンボーディング・ガイド

ウォークスルー

初回ガイド(コーチマーク)。暗転した画面で1つのUI要素だけをスポットライトで照らし、吹き出しの「次へ/スキップ」で3ステップ進むたびにハイライトが移動する。ドットで現在地を示す。

ENGLISH

Walkthrough (Coach Marks)

  • JS
369オンボーディング・ガイド の一覧 →

プレビュー

クリック

操作クリック/タップで動きます。

実装メモ

プレビューは枠内に収めるため、ツアーのオーバーレイを position:absolute(ステージ基準)で実装しています。実際のページで画面全体に重ねるときは、いちばん外側のオーバーレイを position:fixed; inset:0 に変え、body 直下など高い階層へ置いてください。ハイライトの穴は「巨大な spread の box-shadow で周囲だけを暗くする」定番の手法で、対象要素の位置・サイズは getBoundingClientRect でステージ基準に換算して求めています。

コード(コピーして使えます)

<div class="wt-stage" id="wtStage">
  <!-- 背後のダミーアプリ -->
  <div class="wt-app">
    <header class="wt-head">
      <span class="wt-logo">ちい</span>
      <button class="wt-search" id="tgSearch">
        <svg width="13" height="13" viewBox="0 0 13 13" fill="none" aria-hidden="true">
          <circle cx="5.5" cy="5.5" r="4" stroke="currentColor" stroke-width="1.5"/>
          <line x1="8.5" y1="8.5" x2="11.5" y2="11.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
        </svg>
        検索
      </button>
      <button class="wt-add" id="tgAdd" aria-label="新規作成">
        <svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
          <line x1="8" y1="3" x2="8" y2="13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
          <line x1="3" y1="8" x2="13" y2="8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
        </svg>
      </button>
    </header>
    <div class="wt-cards">
      <div class="wt-card"></div>
      <div class="wt-card"></div>
      <div class="wt-card"></div>
    </div>
    <nav class="wt-nav">
      <button class="wt-navi" aria-label="ホーム">🏠</button>
      <button class="wt-navi" aria-label="通知">🔔</button>
      <button class="wt-navi" id="tgSettings" aria-label="設定">⚙️</button>
    </nav>
  </div>

  <button class="wt-help" id="wtHelp" aria-label="ツアーをもう一度">?</button>

  <!-- ツアーオーバーレイ -->
  <div class="wt-overlay" id="wtOverlay" aria-hidden="true">
    <div class="wt-catch"></div>
    <div class="wt-spot" id="wtSpot"></div>
    <div class="wt-tip" id="wtTip" role="dialog" aria-modal="true" aria-labelledby="wtTitle" aria-describedby="wtBody">
      <p class="wt-title" id="wtTitle"></p>
      <p class="wt-body" id="wtBody"></p>
      <div class="wt-foot">
        <div class="wt-dots" id="wtDots" aria-hidden="true"></div>
        <div class="wt-btns">
          <button class="wt-skip" id="wtSkip">スキップ</button>
          <button class="wt-next" id="wtNext">次へ</button>
        </div>
      </div>
    </div>
  </div>
</div>

タグ

関連パーツ