ページ内リンクにスムーススクロールを設定したい

0
いいねをした人: 居ません
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #6360
    Mio Urakami
    参加者
    3

    表題の件ですが、現在、ページアップ用のボタンにはスムーススクロールが設定されていますよね。
    それとは別に、任意のページ内リンクを設置した場合、それもできればスムーススクロールさせたいのですが、それ用の設定などなにかありますでしょうか?

    今までは、子テーマで

    jQuery(function(){
       jQuery('a[href^="#"]').click(function() {// # クリック処理
          var speed = 800; //スクロール速度ミリ秒
          var href= jQuery(this).attr("href"); // アンカーの値取
          // 移動先を取得
          var target = jQuery(href == "#" || href == "" ? 'html' : href);
          var position = target.offset().top;// 移動先を数値で取得
          // スムーススクロール
          jQuery('body,html').animate({scrollTop:position}, speed, 'swing');
          return false;
       });
    });

    を記述したjsを読み込ませていたんですが、これがハッシュナビを使うオーバーレイウィジェットとコンフリクトしてしまうことがわかったので、何か別の方法でスムーススクロールさせたいです。

    そして、すでにページアップ用ボタンはスムーススクロールになっているので、それがうまく利用できないかな?と……

    よろしくお願いします。

    0
    いいねをした人: 居ません
    #6367
    キタジマ タカシ
    参加者
    2227

    自作のものを調整して利用することもできますが、Snow Monkey はスムーススクロール用のライブラリを持っているのでそちらの場合を。下記のコードを子テーマの JavaScript ファイルに貼り付けてみてください。

    jQuery(function(){
      $('任意のセレクタ a[href^="#"]').SmoothScroll({
        duration: 800,
        easing  : 'easeOutQuint'
      });
    });

    肝は $('任意のセレクタ a[href^="#"]') の部分です。全てのアンカーリンクに、というのはなかなか難しいのですが、任意のページ内リンクなら比較的簡単です。 例えば、

    <div class="anchor-links">
      <a href="#hoge">アンカーリンク</a>
    </div>

    のようなアンカーリンクをつくった場合は、$('.anchor-links a[href^="#"]') と指定します。

    0
    いいねをした人: 居ません
    #6389
    Mio Urakami
    参加者
    3

    ありがとうございます!早速試してみますね。

    0
    いいねをした人: 居ません
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • トピック「ページ内リンクにスムーススクロールを設定したい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。