2017-12-31 30 views
0

ウィンドウスクロールを使用してヘッダーコンテナにエフェクトを追加するスクリプトがあります。関数のオフにした後、ウィンドウスクロールをオンに戻します。

$(window).scroll(function() { 
    if ($(document).scrollTop() > 150) { 
     $('#main-page').addClass('appear'); 
     $('#logo1').fadeOut(0); 
     $('#logo2').show(0); 
    } 
    else { 
     $('#logo2').hide(0); 
     $('#logo1').fadeIn(0); 
     $('#main-page').removeClass('appear'); 

    } 


    }); 

私はdivの

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

    drawDoughnutChart(); 
    $(window).off('scroll') 
    } 

}); 

上のユーザーがスクロールは、私が最初に戻ってそれをオンにしようとしていることを想定していたとき、私は私のチャート機能を起動するために使用するページ上でこの機能を持っています関数を使用するか、グラフ関数に何かを追加してそれをオフにしますか?

答えて

0

私が正しく理解していれば、jQuery namespacesを使用する必要があります。したがってoffは、ロゴのスクロールではなく、図のスクロールのみです。

だから2番目のスクリプトでは、あなたがこのような何かをする必要があります。

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

    drawDoughnutChart(); 
    $(window).off('scroll.chart') 
    } 
}); 

ますoff$(window).off('scroll.chart')ながらこれだけハンドラを。

For more info

+0

あなたは今日何かを教えてくれました。明けましておめでとうございます! –

+0

私の喜び:)他の人に役立つように答えを受け入れてください(https://meta.stackexchange.com/a/5235/303669)。 –

関連する問題