2013-12-13 2 views
0

이 실행을 한 번만하는 데 어려움을 겪고 있습니다. 스크롤 높이 효과를 추가하기 전에 내가 잘못하고있는 것이 확실하지 않습니다. 주기적으로 사용자가 스크롤 여부를 확인하고 코드를 실행해야 http://ejohn.org/blog/learning-from-twitter/자바 스크립트가 한 번 이상 실행되지 않을 때

긴 이야기를 짧게 :

$(window).scroll(function() { 
    var y_scroll_pos = window.pageYOffset; 
    var scroll_pos_test = 450; 

if(y_scroll_pos > scroll_pos_test) { 


$('#coins').lazylinepainter( 
{ 
    "svgData": pathObj, 
    "strokeWidth": 4, 
    "strokeColor": "#8E9CCD" 
}).lazylinepainter('paint'); 

} 
+5

스크롤 이벤트가 여러 번 발생했기 때문일 수 있습니다. –

+2

스크롤 이벤트를 스크롤하면 일반적으로 여러 번 실행됩니다. – DrCord

+1

스크롤하는 동안'scroll' 이벤트가 여러 번 발생합니다. 디 바운스하거나 스로틀하기를 원합니다 : http://benalman.com/projects/jquery-throttle-debounce-plugin/ –

답변

1

존 레식이 제대로 스크롤 이벤트가 발생되는 여러 번 처리하는 방법을 설명하는 블로그 게시물이 있습니다 그들이했다면. 코드는 다음과 같습니다 (동일한 블로그 게시물에서 가져옴) :

var outerPane = $details.find(".details-pane-outer"), 
    didScroll = false; 

$(window).scroll(function() { 
    didScroll = true; 
}); 

setInterval(function() { 
    if (didScroll) { 
     didScroll = false; 
     // Check your page position and then 
     // Load in more results 
    } 
}, 250); 
관련 문제