質問: $('.floatBtn1'); ssBtn1.hide(); $(window).scroll(function () { if ($(this).scrollTop() > 600 && $(this).height() + $(this).scrollTop() ) { ssBtn1.fadeIn(); } else { ssBtn1.fadeOut(); } }); }); ``` ### 結果 結果としては、トップで非表示になりますが、 ボトムで非表示になりません。 ネット上をくまなく探してみたのですが、 意外に情報が少なくできずに困っております。 特に、 「スクロールするとヘッダーやボタンが表示・非表示になる、またはページ下部で ヘッダーやボタンが表示・非表示になる」 といったどちらか一方の内容になってしまいます。 ご教授いただけませんでしょうか? 何卒よろしくお願い申し上げます。
回答: 皆さま、たくさんのご回答、誠にありがとうございました。 今回、ズバリのご回答を頂きましたが、 mts10806様やh_3478様からいただきました ・複数条件を組み込むときは限定的に起きる操作を優先で作ったほうがバグが起きにくくなる ・if文がおかしい というアドバイスをいただきまして、自分なりにコード改変してみましたところ、 いただいたご回答と同じ動きを得ることができました。 $(function(){ var bottomPos = $(document).height() - $(window).height(); var ssBtn1 = $('.floatBtn1'); ssBtn1.hide(); $(window).scroll(function () { if ($(this).scrollTop() > 300 && $(this).scrollTop() <= bottomPos) { ssBtn1.fadeIn(); } else { ssBtn1.fadeOut(); } }); }); アドバイスを下さったり、ご指摘をいただきました皆様に心より御礼申し上げます。 本当にありがとうございました。 今後ともまたよろしくお願い致します。