🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

3614閲覧

スマホでのアンカーリンク遷移

mirac

総合スコア4

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/11/10 21:21

前提・実現したいこと

スマホでのアンカーリンク遷移。
WordPressで制作したページから、別階層へ設置しているindex.htmlページ内のアンカーリンク先へ遷移したいのですが、PCと同様にスマホでも指定のアンカー先へ遷移させたい。

発生している問題・エラーメッセージ

PCでは正常に動作するのですが、スマホでアンカーリンク先へうまく遷移せず、リンク先ページのトップが表示されてしまいます。

該当のソースコード

■リンク元のphpソースコード
<div class="lp-link2">
<div class="link-btn btn3"><a href="//sample.com/zzz/index.html#page18b" title="詳しくはこちら">詳しくはこちら></a></div>
</div>

■リンク先のhtmlソースコード
<article>
<section class="panel page18a" data-section-name="page18a" id="full">
<div>........</div>
</section>
<section class="panel page18b" data-section-name="page18b" id="full">
<div>........</div>
</section>
<article>

試したこと

以下の記述をリンク先のページへ追記してみましたが、変化ありませんでした。。

<!-- ロード終了後に、setTimeout()でロードからの時間を僅かにずらす -->
<script type="text/javascript"> $(window).load(function(){ var lochref = window.location.href; if ( lochref.indexOf('#') > -1 ) { var anchor = lochref.slice( lochref.indexOf('#') ); window.setTimeout(function(){ $('body, html').animate({ scrollTop: $(anchor).offset().top }, 1); }, 1); } }); </script>

補足情報(FW/ツールのバージョンなど)

スクロール関係で読み込まれているscriptが以下です。

<script type="text/javascript" src="../js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="../js/jquery.scrollify.min.js"></script> <script> if (window.matchMedia('(min-width:481px)').matches) $(function () { $.scrollify({ section: "section", }); }); </script> <script type="text/javascript"> if (window.matchMedia('(min-width:481px)').matches) $(function () { $(".panel").css({ "height": $(window).height() }); $.scrollify({ section: ".panel" }); }); </script>

その他に、ユーザーエージェントでデバイスを振り分けたり、スマートフォンのa要素のhoverの動作を改善するなどのjavascriptの記述がありますが、自分で制作したサイトでなく、JavaScriptやjQueryの知識が浅いため読み解けず、質問させていただきました。わかりやすく教えていただけると大変ありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

見た感じだと jQuery Scrollify というライブラリを使ってリンク先を操作しているようです。
ですが、自分はこのライブラリを使ったことがないため、正確な回答はできません。

ですが、とりあえず、リンク先のHTML に id="full" という属性をつけている要素が二つあるようです。
id属性の値の重複は文法違反であり、たとえ今正常に動作していたとしてもそれはただの偶然であり、いつ動作しなくなってもおかしくない状態です。
この質問の件とは関係なくまずい状態なので、まず id重複の問題点を解消してみてください。
ちなみに、もしかしたらスマホで動作しないのは id重複のせいという可能性もあります。
運が良ければ、id重複を解消することでこの質問の問題も同時に解決します。

それで解決しなければ、それ以上は自分にはわかりません。
「jQuery Scrollify というライブラリを使っている部分に原因がありそうかな」くらいです。
なお、jQuery Scrollify が原因であった場合でも、この質問だと情報不足のため、このライブラリをよく知っている人でも回答はできないと思います。
回答がほしいなら、jQuery Scrollify に関する部分の情報を追加した方がいいと思います。

投稿2019/11/12 03:16

2KOH

総合スコア999

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mirac

2019/11/13 01:55

ありがとうございます! ご指摘いただいた、リンク先HTMLの「id属性の値の重複」をなくしてみたのですが、変化がみられませんでした。。 jQuery Scrollify に関する部分をもう少し見てみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問