jQueryにてodometerクラスから200px下にスクロールすると文字色が変わるscriptを書きました。
jquery
1 $(function() { 2 // 引き金となる要素を設定 3 let triggerNode = $(".odometer "); 4 // 画面スクロール毎に判定を行う 5 $(window).scroll(function(){ 6 // 引き金となる要素の位置を取得 7 let triggerNodePosition = $(triggerNode).offset().top; 8 // 現在のスクロール位置が引き金要素の位置より下にあれば‥ 9 if ($(window).scrollTop() > triggerNodePosition - 200) { 10 // 動かすJSの指示(pタグの文字色変更) 11 $("p").css("color","#ff4500"); 12 } 13 }); 14});
これを以下の様にjavascriptに書き換えているのですが、うまく動作しません。
javascript
1// 引き金となる要素を設定 2let triggerNode = document.getElementsByClassName('.odometer'); 3// 画面スクロール毎に判定を行う 4window.addEventListener('scroll', function(){ 5// 引き金となる要素の位置を取得 6let triggerNodePosition = triggerNode.offset().top; 7// 現在のスクロール位置が引き金要素の位置より下にあれば‥ 8if (window.scrollTop() > triggerNodePosition - 200) { 9 // 動かすJSの指示(pタグの文字色変更) 10 odometer.("p").css("color","#ff4500"); 11 } 12}); 13
どこがおかしいのでしょうか?
アドバイスお願いします。
回答2件
あなたの回答
tips
プレビュー