指定したIDの要素までスクロールしたらクラスを付与するコードでつまづいております。
現在はクラス自体は付与されるのですが、スクロールするとすぐにイベント発火をしてしまい、指定のコンテンツまでスクロールする前にイベント発火がおきている状態です。
ご教授願います。
html
1<ul> 2 <li>テスト01</li> 3 <li>テスト02</li> 4 <li id="btn-show">テスト03</li> 5</ul> 6 7<div class="float-btn"> 8 <button class="submit-btn">この条件で検索</button> 9</div>
scss
1.float-btn{ 2 width: 100%; 3 height: 100px; 4 background: rgba(0,0,0,0.8); 5 position: fixed; 6 bottom: 0; 7 z-index: 1600; 8 display: flex; 9 align-items: center; 10 transform: translateY(150px); 11 12 .submit-btn{ 13 width: 400px; 14 font-size: 18px; 15 color: #ffffff; 16 text-align: center; 17 padding: 25px 0; 18 background: #e80000; 19 border: solid 1px #e80000; 20 font-weight: bold; 21 border-radius: 5px; 22 margin: 0 auto; 23 display: block; 24 25 &:hover{ 26 cursor: pointer; 27 } 28 } 29} 30 31.flow-open{ 32 transform: translateY(0) !important; 33 transition: 1s !important; 34}
jQuery
1 var windowHeight = $(window).height(); 2 $(window).scroll(function(){ 3 if($(this).scrollTop() > $('#btn-show').offset().top - windowHeight){ 4 $('.float-btn').addClass('flow-open'); 5 } 6 });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。