レスポンシブでハンバーガーメニューになった途端にページ内リンクのアンカータグがリンクしなくなって困った時の応急処置
「レスポンシブでハンバーガーメニューになった途端にページ内リンクのアンカータグがリンクしなくなって困った時の応急処置」
目標:ハンバーガーメニューでもページ内リンクさせる
WordpressでWeb制作してたら、原因不明の事件に見舞われたので備忘。
本来なら原因も調べるべきなんだけど、今回は少し立て込んでて、後日ちゃんと調べたいと思います。
ページ内リンクってのはこれです。
<div id="destination">ホニャホニャ</div> <!-- 上のように書いたところにリンクするには --> <a href="#destination">ホニャホニャへのリンク</a> <!-- という風に書くやつね -->
発生した事象は以下の通り。
- 画面幅がハンバーガーメニュー以上のあるブラウザでは通常通りリンクする
- 画面幅がハンバーガーメニュー以下のブラウザではリンクせずハンバーガーが閉じるだけ(スマホだけでなくブラウザのシミュレータでもリンクしない)
- ハンバーガーの外のページ内リンクは通常通り遷移する
- ハンバーガー内の外部サイトへの(#を使わない)外部へのリンクは通常通りリンクする
- ハンバーガーはbootstrapにて実装。(テーマ任せだが)
と言ったところ。
この辺りから判断する限り、リンクの記載方法は正しい。。。
何事か...!?
いろいろ調べても、合致する回答がなかったので、とりあえず通常どおりハンバーガー内のページ内リンクが動いているサイトのソースコー度とにらめっこ。
ぱっと見何も違わない。
div構成も一緒。。
「・・・・・!!!?・・・」
なんか変なIDが俺のソースコードにだけないぞ・・・
それがこれ
<div id="destination" data-q_id="#destination">ホニャホニャ</div>
「data-q_id="#destination"
って何やねん」とぶつくさ、言いつつ書き込んでみた。
「wordpress、しかもvisualComposerはタグの書き足しめんどいのよね。。。。」
「ぶつくさぶつくさ。。。。」
「。。。。動きましたわ」
本来は原因を解明してから、記事にしたいんですが、今回は取り急ぎ。 もし、原因わかる人はコメントいただけると嬉しい、というか助かります。
以上です!
環境
WordPress: テーマはBridge(qode)編集はVisualComposer