web-dev-qa-db-ja.com

scrolltopは常に0、スクリプトを起動できません

スクロールスクリプトでjQueryトリガーを私の子テーマに追加しようとしているときに、追加されてもトリガーされないことに気付きました。しかし、スクリプトが機能していない理由を理解しようとした後、スクロールの高さが大きいにもかかわらず、document.body.scrollTopを使用して常に0の値が返されることを見つけました。

私は未修正の親テーマでも同じことを試しましたが、それも常に0を返すことがわかりました。だから私はそれを乗っ取っている何らかのスタイルやスクリプトがあると思います。私はそれを追い詰めようとしましたが、まだ幸運はありません。

Css/javascriptでscrolltopプロパティをリセットしたり、別のスクロールトリガーでスクリプトをトリガーしたりできる方法はありますか。

1
Meir Snyder

私は推測する

body.scrollTopはstrictモードでは非推奨です。 strictモードの場合はdocumentElement.scrollTopを、Quirksモードの場合のみbody.scrollTopを使用してください。

だから私はあなたにdocument.documentElement.scrollTopを使うことを勧めます。また、いつこの文を使用していますか?可能であれば、フルコードとコンソールエラーを表示してください。

あなたのコメントコードに関して編集された以下のコードを試してください、そしてあなたがコンソールで見るものを私たちに知らせてください。

jQuery(document).ready(function ($) {
 jQuery(window).scroll(function(){
 var ScrollTop = jQuery(window).scrollTop();
 if (ScrollTop > 100) { 
  jQuery( ".site-header" ).addClass( "scroll" ); 
   console.log("above 100");
 }else{
 jQuery( ".site-header" ).removeClass( "scroll" ); 
   console.log("below or equal to 100");
 }
 });
});
1
WPTC-Troop