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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

875閲覧

クリックして、サイト内リンクに移動後 後消えるボタンが作れないです

niconic73027793

総合スコア215

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2022/04/17 13:35

編集2022/04/17 14:41

クリックしてスクロール終了後消えるボタンを作ろうとしています。

ヘッダーに設置したお問い合わせボタンをおすと、お問い合わせフォームの位置に移動するボタンを作るところまで
できました。
※スームーススクロールでゆっくりとリンク箇所まで移動。

その後に、押したボタンがフェイドアウトするようにしたいと思い
下記のコードを記述しました。

$('.header-reserve-button').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); var scrollend = $('#contact').offset().top ; //ページ上部からの距離を取得 var distance = 0; $(document).scroll(function(){ distance = $(this).scrollTop(); //スクロールした距離を取得 if (scrollend <= distance) { $('.header-reserve-button').fadeOut(); } else{ $('.header-reserve-button').fadeIn(); } });
<div class="fixed-nav"> <a href="#contact" class="header-reserve-button" target="_blank" >お問い合わせ</a ><!-- /.header-button --> </div><!-- /.fixed-nav -->

しかし、ボタンがスクロール終了後消えません。

どのように記述すれば消えるのでしょうか?
*追記 
指定した位置まで移動した後、さらにスクロールすると消えます。
スクロールが終わった直後にきえません。

下記のサイトを参考にしました。

特定の位置までスクロールしたら消える要素の実装方法

デモ

<div class="wrapper"> <div class="cont"> <p>テキスト</p> </div> <div class="cont"> <p>テキスト</p> </div> <div class="demo01__btn js-demo01-btn-area"> <a href="#demo01__area" class="demo01__link js-demo01-btn">ページ下部固定ボタン▼</a> </div> <div id="demo01__area" class="cont js-demo01-area"> <p>ここで止まる</p> </div> <div class="cont"> <p>テキスト</p> </div> <div class="cont"> <p>テキスト</p> </div> <div class="cont"> <p>テキスト</p> </div> </div> $(function(){ $('.js-demo01-btn').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); var scrollend = $('#demo01__area').offset().top ; //ページ上部からの距離を取得 var distance = 0; $(document).scroll(function(){ distance = $(this).scrollTop(); //スクロールした距離を取得 if (scrollend <= distance) { $('.js-demo01-btn-area').fadeOut(); } else{ $('.js-demo01-btn-area').fadeIn(); } }); });

試した事、

jquery の確認

スムーススクロールが動いているでjquery は動作していると思います。

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

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

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

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

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

guest

回答1

0

自己解決

リロードしたら反映されました。

投稿2022/04/17 14:48

niconic73027793

総合スコア215

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問