質問: currentPos; }); ``` if文中の $(window).scrollTop() < 500 を削除し、 if(startPos <= currentPos) 比較演算子を < から <= に変更してみたのですが、うまく動作しませんでした。 ### 画像イメージ(console表示付き) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/1a413b6a2f83e9d17299d108aaaed59b.png) 画像右側のコンソール画面でスクロールトップボタンをクリックしてページトップまでスクロールした時の動作が確認できます。 非表示となってから表示され、また非表示となってページトップボタンが非表示となってしまいます。 サイト表示の右下に、現在はスクリプトで非表示としていますが指定範囲内に入るとページトップボタンが表示されます。 どうしたら表示の切り替えがうまくいくでしょうか。
回答: このようにするのはいかがでしょうか? ``` $(document).ready(function () { var topBtn = $('#top-btn'); topBtn.hide(); }); $(window).scroll(function () { if ($(this).scrollTop() >= 500) { $('#top-btn').fadeIn(); } else { $('#top-btn').fadeOut(); } }); $('#top-btn').click(function (event) { event.preventDefault(); var position = $('.header-wrapper').offset().top; $('body,html').animate({ scrollTop: position }, 500); }); ```