2017-09-18 5 views
0

私はJSアニメーションを内部でやっています。その場所に達した後にそれを繰り返したいと思わないので、今度は$(window).off('scroll');のすべての要素を#containerでスクロールできません。スクロールをオンにするが動作していない$(window).on('scroll');. 何か考えていますか?

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


    } 

}); 
+0

だけでなく、あなたがすべてのイベントをオフにすると言っているが行われますかインスタンス。名前空間を調べます。 – epascarello

答えて

1

あなたのオフの呼び出しは、すべてのイベントだけでなく、1をアンバインドします。その1つのインスタンスをバインド解除する必要があります。あなたが唯一の特定のものをしたい場合は、単によりをオフにする必要があるので、それは...、関数を参照して

var myScroll1 = function() { 
    $(window).off("scroll", myScroll1) 
} 
$(window).on("scroll", myScroll1) 

または名前空間

$(window).on("scroll.scroll1", function() { 
    $(window).off("scroll.scroll1", myScroll1) 
}) 
関連する問題