###前提・実現したいこと
Japan Mapのプラグインを用いて、ページ内スムーズスクロール(するするっと動くやつ)を実装したいと考えております。
###試したこと&概要
Japan Mapのプラグインとしては、現在以下の通り設定し、「ページ内に設定したリンクに移動」自体はできるようになっております。
(すなわち、該当の箇所をクリックすると、指定したidに移動するようになっている。)
$(function() { var areaLinks = { 1: "#sec1", 2: "#sec2", 3: "#sec3", 4: "#sec4", 5: "#sec5", 6: "#sec6", 7: "#sec7", }; var areas = [{ code: 1, name: "北海道", color: "#ca93ea", hoverColor: "#e0b1fb", prefectures: [1] }, { code: 2, name: "東北", color: "#a7a5ea", hoverColor: "#d6d4fd", prefectures: [2, 3, 4, 5, 6, 7] }, { code: 3, name: "関東", color: "#84b0f6", hoverColor: "#c1d8fd", prefectures: [8, 9, 10, 11, 12, 13, 14] }, { code: 4, name: "中部", color: "#52d49c", hoverColor: "#93ecc5", prefectures: [15, 16, 17, 18, 19, 20, 21, 22, 23, 24] }, { code: 5, name: "近畿", color: "#f2db7b", hoverColor: "#f6e8ac", prefectures: [25, 26, 27, 28, 29, 30] }, { code: 6, name: "中国・四国", color: "#f9ca6c", hoverColor: "#ffe5b0", prefectures: [31, 32, 33, 34, 35, 36, 37, 38, 39] }, { code: 7, name: "九州・沖縄", color: "#f7a6a6", hoverColor: "#ffcece", prefectures: [40, 41, 42, 43, 44, 45, 46, 47] }, ];
また、ページ内スクロールについては、サイトを参考にし以下を記述しております。
$(function(){ $('a[href^=#]').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); });
これで動かなかったのですが、以上のコードはjQueryプラグインを前提にしたものではないので、動かないのも当然といえば当然かな・・・という気はしております。
個人的には
'a[href^=#]'
の部分を適切な形にすれば動くんじゃないかと考えているのですが、どなたか解決策ご存知でしたらご教示頂けると助かります。
何卒、よろしくお願いいたします。
###サンプルページ
恐らく上記で分かりにくかったかもしれず、取り急ぎサンプルページを作成しましたのでご覧ください。
回答4件
あなたの回答
tips
プレビュー