- このトピックには2件の返信、2人の参加者があり、最後にMio Urakamiにより6年、 1ヶ月前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
-
投稿者投稿
-
2018年10月14日 5:11 PM #6360
表題の件ですが、現在、ページアップ用のボタンにはスムーススクロールが設定されていますよね。
それとは別に、任意のページ内リンクを設置した場合、それもできればスムーススクロールさせたいのですが、それ用の設定などなにかありますでしょうか?今までは、子テーマで
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いいねをした人: 居ません2018年10月15日 11:03 AM #6367自作のものを調整して利用することもできますが、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いいねをした人: 居ません2018年10月16日 11:28 AM #6389ありがとうございます!早速試してみますね。
♥ 0いいねをした人: 居ません -
投稿者投稿
3件の投稿を表示中 - 1 - 3件目 (全3件中)
- トピック「ページ内リンクにスムーススクロールを設定したい」には新しい返信をつけることはできません。