2017-09-26 10 views
-1

jqueryのスクロールイベントを使用してセクション番号を識別するスクリプトをjqueryに作成しましたが、このスクロールイベントがページにYouTubeのiframeを追加した瞬間、とにかくこれを解決できるのでしょうか?どんな助けもありがとう。jqueryスクロールがyoutube iframeでページに認識されない

$(window).on('scroll', function() { 
 
    if ($(window).scrollTop() == 0) { 
 
    nextSection = 1; 
 
    $('.pre-num').html(nextSection); 
 
    console.log('still firing'); 
 
    } 
 
    if ($(window).scrollTop() == $section2.offset().top) { 
 
    nextSection = 2; 
 
    $('.pre-num').html(nextSection); 
 
    console.log('wont fire'); 
 
    } 
 
    if ($(window).scrollTop() == $section3.offset().top) { 
 
    nextSection = 3; 
 
    $('.pre-num').html(nextSection); 
 
    console.log('wont fire'); 
 
    } 
 
    if ($(window).scrollTop() > 3000) { 
 
    nextSection = 4; 
 
    $('.pre-num').html(nextSection); 
 
    console.log('wont fire'); 
 
    } 
 
});

+0

使用しているjQueryコードについて言及してください。ブラウザのJSコンソールに表示されるエラー/警告 – Junaid

+0

私は、scrollify.jsを使用して、ユーザーがスクロールアップまたはスクロールするたびにページ内のすべてのセクションをスナップするようにしました。そして、もし彼らがトップにヒーローとしてyoutubeフレームを持っていたい場合は、プリローダーに条件を追加しました。彼らはサウンドをクリックしたり、ミュートを解除したり、ヒーローエリアのyoutube iframeをキャンセルしたりすることができます。イメージヒーロー領域ではすべてうまく動作しますが、iframeがどこに表示されるかを選択すると、スクロールイベントは機能しません。私はコンソールをチェックし、警告は表示されませんでした。 – Frances

+0

$(ウィンドウ).on( 'スクロール'、関数(){ \t IF($(ウィンドウ).scrollTop()== 0){ \t nextSection = 1; 'プレNUM' \t $() .htmlの(nextSection); \tはconsole.log( '依然として発射'); \t} \t($(ウィンドウ).scrollTop()== $のsection2.offset()へ戻る。){ \t nextSection = 2なら; \t $( 'プレNUM ')HTML(nextSection); \t \tはconsole.log(' 習慣火災'); \t} \t if($(window).scrollTop()== $ section3.offset()。top){ \t nextSection = 3; \t $( '。pre-num').html(nextSection); \t console.log( 'fire fire'); \t} \t if($(window).scrollTop()> 3000){ \t nextSection = 4; \t $( '。pre-num').html(nextSection); \t console.log( 'fire fire'); \t} \t \t}); – Frances

答えて

0

私は今、問題を参照してください。 YouTubeのiframeが存在するときにはスクロールイベントは機能しますが、offset().topではなく、オフセット値の実数に値を変更するだけです。== $section2.offset().topを使用する代わりに、最初のif条件と同じように== 1213と置き換えます。

ありがとうございました。私の質問にコメントする時間をくれてありがとうございます。

関連する問題