colorbox.jsのモーダルウィンドウでiOSの背景を固定することができた!
WEB制作ではよく使うモーダルウィンドウ。
代表的なものだと、Lightbox、FancyBoxなどが有名ですよね。
Colorboxは、オプションが豊富でカスタマイズしやすいことで人気です。
ただ困ったことに、元となるHTMLがモーダルで立ち上がったウィンドウより長いとスクロールできてしまい、立ち上がったコンテンツが上下に動いてしまいます。
様々なサイトでモーダルの背景を固定する方法がありましたが、iOSだけはなかなか固定できなかった。。。涙
その解決方法をお伝えします!
jQuery Colorbox.js の基本的な使い方
jQuery Colorbox.jsの基本的な使い方は、検索すればたくさん出てきます。
Colorbox公式サイト:
http://www.jacklmoore.com/colorbox/
こちらは基本的な設定について丁寧に書かれていますし、
http://gimmicklog.main.jp/jquery/299/
こちらはオプションについて日本語で詳しく説明がありますし。
http://cly7796.net/wp/javascript/plugin-jquery-colorbox/
こちらもカスタマイズについての説明があります。
https://www.tam-tam.co.jp/tipsnote/javascript/post6708.html
しかししかし、背景が触れてしまう(スクロールに反応してしまう)解決方法についてはなかなか見つからず。
position:fixed;にしたり、
height:100%; にして、overflow:hidden; にしたり、
様々なサイトからヒントを得て試してみましたが、何かしらの不具合が出てうまく行きませんでした。。。
そして見つけたこのサイト!
https://github.com/jackmoore/colorbox/issues/757
神がいました!!
@KingWebsites 氏がコメントしているこちらの部分。
なんか、、、コメントでみんな絶賛してる!!
みんな解決したって言ってる!!!
で、、、ええと、どこに記述するの?!
colorbox.js自体に記述箇所を探しましたが、
こちらのコードをHTML、もしくはJavascriptのcolorbox呼び出し部分に記述するだけで、解決!!
1週間ほど色々探しましたが、この記述によって、iOS含め、すべてのモダンブラウザで背景の固定が実現しました。
ありがとう、KingWebsiteさん!!
【参考サイト】
Colorbox公式サイト:
http://www.jacklmoore.com/colorbox/