以前、こちらで質問して教えて頂いた続きになります。「スクロールでフッターが半透明になるジャバスクリプト」ですが、どうも1点だけ不具合のようなものが見つかりました。
↓以前の質問
https://teratail.com/questions/175393?nli=5c6ddbfd-62d4-4da7-9883-40560a28010e
不具合
・iPhoneSEのSafariで動作確認すると、「画面下部に到達したときに、透明が解除されない、もう一度、指で↓にスクロールすると、透明が解除されるという」不具合です。iPhoneのChromeやPCのSafari、Chromeは問題ありません。
ここまできたら、どうにか解決したいと思い、お分かりの方がいましたら教えていただけないでしょうか?
<footer> <ul id="footer-scroll"> <li ><img src="/wp-content/uploads/img/start.png" alt="start"></li> <li ><img src="/wp-content/uploads/img/sns.png" alt="sns"></li> <li><a href='#'>Favorites</a></li> </ul> </footer>
#footer-scroll{ display:flex; justify-content:left; position: fixed; width: 100%; bottom: 0; left: 0; z-index: 99; }
const basic_opc = '1'; const scroll_opc = '0.2'; $(function() { $(window).scroll(function(){ var scrollTop = $(window).scrollTop(); var doch = $(document).innerHeight(); var winh = $(window).innerHeight(); var bottom = doch - winh; if (bottom <= $(window).scrollTop()) footer_animate(false); else if(scrollTop != 0) footer_animate(true); else footer_animate(false); }); $('#footer-scroll').hover( function (e) { var scrollTop = $(window).scrollTop(); if(scrollTop != 0){ footer_animate(false); } }, function (e) { var scrollTop = $(window).scrollTop(); if(scrollTop != 0){ footer_animate(true); } } ); }); function footer_animate(scroll){ let opc = basic_opc; if(scroll) opc = scroll_opc; $('#footer-scroll').stop().animate({'opacity':opc},400); }
回答1件
あなたの回答
tips
プレビュー