2016-04-19 10 views
0

特定のdivにスクロールしてから1回だけ関数を実行したいのですが、下の方法ではスクロール後にその関数をトリガし続けます。divへのスクロール後に関数を実行します。

$(window).scroll(function() { 
       var hT = $('#test').offset().top, 
       hH = $('#test').outerHeight(), 
       wH = $(window).height(), 
       wS = $(this).scrollTop(); 
       if ((wS >= (hT+hH-wH)) && (i < 4)){ 
        myfunction(); 
       } 
       }); 

は私がmyfunction

答えて

0

が一度実行されるの助けを
おかげで、scrollハンドラを削除MyFunctionを()を実行するだけで1時間にしたい

$(window).on('scroll.myfunction', function() { 
    var hT = $('#test').offset().top, 
    hH = $('#test').outerHeight(), 
    wH = $(window).height(), 
    wS = $(this).scrollTop(); 
    if ((wS >= (hT + hH - wH)) && (i < 4)) { 
    myfunction(); 
    $(window).off('scroll.myfunction'); 
    } 
}); 
関連する問題