前提・実現したいこと
該当サイトリンク
上記のサイトで、別ページからリンクして、ページ内リンクでページ内の指定の場所に飛ばしたいのですが、どうしてもページトップにリンクして、ページ内に飛んでくれません。
それをページ内の指定の場所に飛ばせるようにしたいです。
上記のサイトのいろいろなところで、別ページからきてページ内リンクで指定の場所に飛ばすということをしたいのですが、とりあえず、サイトの中の上記のページの下の方にある「料金はこちら」というところのリンクだけ、hrefの末尾を#laser1として、price.htmlの#laser1に飛ばすようにしてあります。(機能していません)
お忙しいところ申し訳ありませんが、見ていただける方いらっしゃったらよろしくお願いいたします。
発生している問題・エラーメッセージ
ページ外から飛んでページ内の指定の場所に飛ばしたいのですが、飛びません。
とあるサイトで、裏側でjsのページトップに戻るボタンのようなものがロード時に一度行われていて、本来は指定の場所にリンクしていても、一瞬でページトップに戻されている可能性がある、というようなことを言っていました。
jsが邪魔している可能性があるのですが、下記のコードの5行目はウィンドウ幅を取得して、、見たいな記述だと思うのですが、行の中にscrollTop()というのがあってこれでトップに飛ばされていないでしょうか。
該当のソースコード
main.js↓
js
1! function (n) { 2 var i = !1, 3 e = n(window).width(); 4 n("#page-top").hide(), n(window).on("load resize orientationchange scroll", function () { 5 640 < n(window).width() ? n("#common-nav").get(0).offsetTop < n(window).scrollTop() ? n(".fix-nav").css({ 6 position: "fixed" 7 }) : (n(".fix-nav").css({ 8 position: "" 9 }), n(".side-links").fadeOut()) : n(".fix-nav").css({ 10 position: "" 11 }), 300 < n(window).scrollTop() ? (1e3 < n(window).width() && (n("#page-top").fadeIn(), n(".side-links").fadeIn()), n(window).width() <= 640 && n(".side-nav").fadeIn(),n("#common-header").fadeOut()) : (n("#page-top").fadeOut(), n(".side-links").fadeOut(), n(".side-nav").fadeOut(),n("#common-header").fadeIn()) 12 }), n(window).on("load resize orientationchange", function () { 13 640 < n(window).width() ? (n("#common-nav").css("height", n(".fix-nav").outerHeight() + "px"), n("#wrapper").css({ 14 paddingTop: "", 15 paddingBottom: "" 16 }), n(".nav-children").css({ 17 display: "" 18 }), n(".nav-parent").removeClass("active")) : (e != n(window).width() && (i = !1, n("#nav-torigger").removeClass("active"), n(".humburger-text").text("MENU"), n("#common-nav").css({ 19 display: "", 20 opacity: "" 21 })), n("#common-nav").css({ 22 height: "" 23 }), n("#wrapper").css({ 24 paddingTop: n("#common-header").outerHeight() + "px", 25 paddingBottom: n(".side-nav").outerHeight() + "px" 26 })) 27 }), n(".nav-parent").hover(function () { 28 640 < n(window).width() && n(this).addClass("active").children(".nav-children").stop().fadeIn() 29 }, function () { 30 640 < n(window).width() && n(this).removeClass("active").children(".nav-children").stop().fadeOut() 31 }), n(".nav-parent a.nav-child-toggle").click(function () { 32 if (n(window).width() <= 640) return n(this).parent(".nav-parent").toggleClass("active"), n(this).siblings(".nav-children").stop().slideToggle(), !1 33 }), n("#nav-torigger").click(function () { 34 i ? (n(this).removeClass("active"), n(".humburger-text").text("MENU"), TweenMax.to(n("#common-nav"), .5, { 35 alpha: 0, 36 onComplete: function () { 37 TweenMax.set(n("#common-nav"), { 38 display: "none" 39 }), i = !1 40 } 41 })) : (n(this).addClass("active"), n(".humburger-text").text("CLOSE"), TweenMax.to(n("#common-nav"), .5, { 42 display: "block", 43 alpha: 1, 44 onComplete: function () { 45 i = !0 46 } 47 })) 48 }); 49 var t = navigator.userAgent; 50 0 < t.indexOf("iPhone") || 0 < t.indexOf("Android") && 0 < t.indexOf("Mobile") ? n(".tel_link").click(function () { 51 window.location.href = n(this).attr("data-tel") 52 }) : (0 < t.indexOf("iPad") || 0 < t.indexOf("Android")) && n(".tel_link").click(function () { 53 window.location.href = n(this).attr("data-tel") 54 }) 55}(jQuery); 56 57/* 追加 */ 58 59
試したこと
・name属性もidと一緒に記述するとブラウザによっては効果あるかもしれないそうなので、やってみました。
・ページトップに戻るボタンがあるのですが、それに関連するjsをまるごと入れ替えて、問題のない記述でやってみましたが、だめでした。ですので、smoothscroll.min.jsは問題にはなっていません。
・ajaxを無効にするのもいいかもしれないとあったので、リンクタグにdata-ajax=”false”と記述してやってみましたがだめでした。
・firefoxで試しましたが、firefoxでは機能しています。chrome、edgeでは機能していません。ウィンドウズを使っているので、pcのサファリでは検証できませんが、iphoneのsafariでやってみるとそちらは機能しました。
iphoneだと、chromeもsafariもedgeもfirefoxも機能します。
pcのchromeが機能しないのはちょっと致命的なのでなんとかしたいですが、これだけ機能するブラウザがあるということはjsの問題じゃないかもしれないのではないでしょうか。
補足情報(FW/ツールのバージョンなど)
どうしてもなぜページ内リンクが機能しないのかわかりません。
どなたかわかる方いらっしゃったら教えてください。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー