想いのはしりがき
- 販促パートナー エンジェルデザイン トップ
- 想いのはしりがき
- サイトマップ
Webサイト制作の備忘録
Webサイトを制作していると、毎日のように壁に当たります。
そしてその壁を乗り越えた時、何とも言えない達成感もあり。
今後の参考のためにも、書き残しておきます。
今回の壁はモーダルウィンドウを開いた時に親ページがページのトップへ戻ってしまう現象。
これまでも、いろんなモーダルウィンドウを使ってきましたが、10年以上も前に「Lightbox」を使用した際に同じ現象でさんざん悩みました。
そのサイトでは、画像クリックをトリガーとしてその拡大表示をLightboxで行っていました。
しかし、デフォルト設定のままではマウスオーバーしてもカーソルが変化しないので、その画像がクリッカブルかどうかがそもそもわかりません。
そこで、カーソルが指に変わるように「a href=”#”」を入れてみたところ、カーソルの問題は解決しても、親ページがページのトップへ戻ってしまう別の問題が発生。トリガーがページ上部にあるならまだ違和感も少ないでしょうが、そのサイトでは多くの場合、トリガーとなる画像、つまり拡大表示で見せたいものがページの後半にありました。
そこで色々ググった結果、そのサイトでは「a href=”javascript:void(0)”」でこの問題をクリアすることができました。
ところが今回は状況がもう少し複雑。PC表示でモーダルウィンドウを開く分には親ページはトップへ戻されないのに、スマホでは親ページがトップへ戻されてしまう。もちろん、上記の「a href=”javascript:void(0)”」も試しましたが効果無し。
ググりまくって答えを探すと、今回使用したものとは別のjQueryプラグインでの対応でしたが、「body: height=”100%”;」に問題があるようで、CSSファイルから「body: height=”100%”;」をコメントアウトしてアップし直したところ、見事に解決!
ただ、釈然としないのは、何故「body: height=”100%”;」が問題なのか、の根本理由が理解できていないところです。数日経ったらこの問題をもう一度考えてみます。一度時間をおいて再考するとすんなり解答が見つかるってこと、結構ありますので。