質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1774閲覧

スクロールでフッターが半透明になる機能でiOSのsafariのみ挙動がおかしい

退会済みユーザー

退会済みユーザー

総合スコア0

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/02/21 04:46

編集2019/02/21 05:53

以前、こちらで質問して教えて頂いた続きになります。「スクロールでフッターが半透明になるジャバスクリプト」ですが、どうも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); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/02/21 04:57

細かくて申し訳ないですが、タイトルが全く同じ(またはナンバリング)はよろしくないです。 もう少し起きている問題に寄せた内容にしてもらえると、後から見たときにタイトルだけで何があったか分かるので。
m.ts10806

2019/02/21 05:00

あと、前の質問の回答で、 「bottomの判定を最底辺より少し上に指定してみてください。」というコメントをしましたが試してみました?
退会済みユーザー

退会済みユーザー

2019/02/21 05:14

タイトルの件、ありがとうございます。 先日はお世話になりました。 bottomの判定の件ですが、恥かしながら、具体的なコード修正が分からず... 教えていただけないでしょうか?確認してみます。
m.ts10806

2019/02/21 05:20

うーん。ナンバリングと変わらないような・・・ 例えば: スクロールでフッターが半透明になる機能でiOSのsafariのみ挙動がおかしい ----------------------- またまた細かくて申し訳ないですが、 以前の質問との関連性があるなら、リンクを貼っておいてもらえると、他の回答者にも関連性が伝わるので、追記願います。
m.ts10806

2019/02/21 05:21

あと、そもそもPCのChromeで確認しているのですが、半透明にならなくなっているような・・?
m.ts10806

2019/02/21 05:27

↑すみません。こちらのHTML構築ミスでした。 DOCTYPE宣言ないと正確に幅とれなくなってたみたいです。
guest

回答1

0

ベストアンサー

基本的な考え方:
bottomから任意の高さを引くことで最底辺の判断を早めにします。

※ロード時も、例えばブラウザ更新ボタンとかでも判断する必要があるかと思うので、
そのあたり追加して微調整してみました。

js

1const basic_opc = '1'; 2const scroll_opc = '0.2'; 3const bottom_check_height = 80; 4$(window).on("load",function(){ 5 check_scroll(); 6}); 7$(function() { 8 $(window).on("scroll",function(){ 9 check_scroll(); 10 }); 11 12 $('#footer-scroll').hover( 13 function (e) { 14 const scrollTop = $(window).scrollTop(); 15 if(scrollTop != 0){ 16 footer_animate(false); 17 } 18 }, 19 function (e) { 20 const scrollTop = $(window).scrollTop(); 21 if(scrollTop != 0){ 22 footer_animate(true); 23 } 24 } 25 ); 26}); 27function check_scroll(){ 28 const scrollTop = $(window).scrollTop(); 29 const doch = $(document).innerHeight(); 30 const winh = $(window).innerHeight(); 31 const bottom = doch - winh - bottom_check_height; 32 if (bottom <= $(window).scrollTop()) 33 footer_animate(false); 34 else if(scrollTop != 0) 35 footer_animate(true); 36 else 37 footer_animate(false); 38 39} 40 41function footer_animate(scroll){ 42 let opc = basic_opc; 43 if(scroll) 44 opc = scroll_opc; 45 46 $('#footer-scroll').stop().animate({'opacity':opc},400); 47}

投稿2019/02/21 05:36

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/02/21 05:56

なお、手元にiOSの端末が無いので私のほうでは現象が出るブラウザの確認できていません。
退会済みユーザー

退会済みユーザー

2019/02/21 06:02

おかげさまで、解決できました。 iOSのSafariで実現したいことが、実現できました。 ロード時やブラウザ更新時も考慮いただき本当にありがとうございます。 この度は先日に引続き大変助かりました!
m.ts10806

2019/02/21 06:03

結構適当に作っているので、コンテンツ部分ができあがってくると不具合あるかもしれません。 そこは自身でご調整ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問