###前提・実現したいこと
モバイルブラウザに全画面でヘッダーを表示し、スクロールするとフッターにメニューが表示されて固定されるものを作ろうとしています。
PCでは問題なくできたのですが、Safari、Chromeなどのモバイルブラウザの場合、アドレスバーや下部のボタンなどがスクロール状況により表示されるため、メニューの挙動が安定しません。
解決方法を教えていただけるとありがたいです。
###該当のソースコード
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>test</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(function() { var height = $('footer').height(); $(window).on('scroll', function() { if ($(this).scrollTop() > height) { $('footer').addClass('fixed'); } else { $('footer').removeClass('fixed'); } }); }); </script> <style> *{ margin:0; padding:0; } header { height:100vh; background:#f00; } main { padding-bottom:100px; } footer { position: absolute; height:100px; bottom:-100px; background:#999; } .fixed { position: fixed; bottom: 0; } </style> </head> <body> <header> 全画面表示 </header> <main> なんらかのコンテンツ<br> なんらかのコンテンツ<br> なんらかのコンテンツ<br> なんらかのコンテンツ<br> なんらかのコンテンツ<br> なんらかのコンテンツ<br> </main> <footer> footer固定メニュー </footer> </body> </html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。