2016-05-06 8 views
2

私が開発しているWordPressサイトのjQueryとJavaScriptからスクロールイベントをトリガーしようとしています。JavaScript/jQueryがスクロールイベントをトリガーしない

$(window).scroll(function() { 
    var hT = $('#target').offset().top; 
     hH = $('#target').outerHeight(); 
     wH = $(window).height(); 
     wS = $(this).scrollTop(); 
    console.log((hT-wH) , wS); 
    if (wS > (hT+hH-wH)){ 
     console.log('working'); 
    } 
}); 

コンソールで何も起こりません。

$(window).scroll(function() { 
    console.log('scrolling'); 
}); 

をどちらも次の操作を行います:次のコードは動作しません

function scrollFunction() { 
    console.log('scrolling'); 
} 

window.onscroll = scrollFunction; 

私は他の非ワードプレスのプロジェクトにこれらの行をテストしてみた、でもcodepenにし、彼らが働きます。私は何が欠けているのですか?

私はjQuery 12.2.2を使用しています。また、同じプロジェクトで同じ目的で、this other questionに投稿したように、私はWaypoints.jsの仕事をすることができませんでした。

本当にありがとうございました!

+0

あなたの基本的なスクリプトが動作しない場合は、私はどちらかを想像して別の場所にページ上の競合を持っている、またはあなたが前にスクリプトを実行しようとしていると思いますjQueryが読み込まれましたか? '$(document).ready(function(){});でラップしようとしています; –

+0

あなたのコードはOKです。 jqueryは含まれていますか?あなたのコードはありますか(ブラウザがキャッシュからページを提供しているかもしれません)?ページに他のエラーがありますか?コンソール(f12)を開き、2番目のスクリプトを貼り付けてみましたか?$(window).scroll(function(){ console.log( 'scrolling'); }); (うまくいく)?私のお金は、スクリプトのこの部分に先立って、チャイ、または他のエラーになっています。 – zozo

+0

私はあなたのコードをtryed ...完璧に動作します。 jQueryがロードされていないか、id = "target"の要素がないなどの問題があります。 –

答えて

0

これを試しましたか?

<script> 
window.onscroll = function() {scrolling()}; 

function scrolling() { 
console.log("Scrolling"); 
} 
</script> 
+0

コンソール上に何もありません...とにかくありがとうございます – ohmmho

0

コードの下に試してみてください... $(window).scroll(function(){});

$(window).on('scroll', function(){})から
$(window).on('scroll', function(){ 

    var hT = $('#target').offset().top; 
     hH = $('#target').outerHeight(); 
     wH = $(window).height(); 
     wS = $(this).scrollTop(); 
    console.log((hT-wH) , wS); 
     if (wS > (hT+hH-wH)){ 
     console.log('working');  
     } 
}); 
1

置き換え:)

はあなたが閉鎖で、あなたのコードを持っていますか?他のJavaScriptがjQueryと衝突し、$記号を使用している可能性があります。

$はjQueryのであることを確認するために、このようにそれをラップ:

(function($){ 

    $(window).scroll(function() { 
    var hT = $('#target').offset().top; 
     hH = $('#target').outerHeight(); 
     wH = $(window).height(); 
     wS = $(this).scrollTop(); 
    console.log((hT-wH) , wS); 
    if (wS > (hT+hH-wH)){ 
     console.log('working'); 
    } 
    }); 

})(jQuery); 
+0

これは問題を解決しないかもしれませんが、正当な理由+1かもしれません。また、SOにようこそ。 – zozo

+0

@zozoはい!これは理にかなっていますが、どうすれば確認できますか?私が実行している他のすべてのjQuery関数は完全に動作します! – ohmmho

+0

上記の答えをお試しください:)。また、http://stackoverflow.com/questions/1853223/check-if-object-is-a-jquery-object – zozo

関連する問題