前提・実現したいこと
まだまだ初心者なんですが、
何回も同じ記述をしなくてもいいようにコードを書きたい。
発生している問題・エラーメッセージ
今だとセクションが増えるごとに(セクション1、セクション2・・・)コードを記述しないといけないが、
これを、セクションが増えても記述しなくても大丈夫なようにしたい。
⇒ これは解決
別の問題が発生して解決できません
sectionに入るごとに、
number-1 number-2 number-3・・・
と付くようにはなりました。
やりたいことは、ここから、例えば、sectionの2つ目の時は、
number-2のみのclassが付与されるようにしたいです。
今だと、number-1 number-2の様に複数付いてしまいます。
このコードからどう変更すればいいでしょうか?
該当のソースコード
HTML
<section> title detail </section> <section> title detail </section> <section> title detail </section>
javascript(jQuery)
$(window).on('scroll', function() { add_class_in_scrolling( $('section') ); }); function add_class_in_scrolling( $target ) { var winScroll = $(window).scrollTop();//スクロールの上下位置を取得 var winHeight = $(window).height();//ウィンドウの高さを取得 var scrollPos = winScroll + winHeight;//上記の合計(スクロールポジション) $target.each(function(i){ if($(this).offset().top < scrollPos) { $("body").addClass('number-' + (i+1)); // スクロールが対象エリアに入った場合 } else { $("body").removeClass('number-' + (i+1));// スクロールが対象エリアから出ている場合 } }); }
ご教授お願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/26 11:44
2021/12/26 11:44
2021/12/26 20:07
2021/12/27 12:34
2021/12/27 20:38 編集
2021/12/28 12:16
2021/12/28 22:38
2021/12/29 03:10