2014-09-12 2 views
0

나는 실행이 1 만 다음, 내가 가진 문제가 체크() 함수 스크롤이 남아 있다는 것입니다 경우) (A 기능 검사를 실행하려면이 내가를 만들 수있는 방법, 다시부울 값 변경에 함수를 실행하는 방법은 무엇입니까?

기능을 실행 부울 및 백열 그것을 뒤집어 기능 검사는 항상 실행됩니까?

설명에 대해 유감입니다. 첫 번째 질문입니다. 모든 도움에 감사드립니다 !!

$("#element").scrollstop(function() { 
    run = 0 
    check() 
}); 

function check(){ 
    console.log(run) 
    if(run === 1){ 
     $('#element').animate({ 
     scrollLeft: '10px' 
     }) 
     run=0 
    } 
    } 
+0

'시도하는 경우 (실행 == 1) {체크()}'당신의 scrollstop 기능 –

+0

에서 당신은'실행 = 0' 호출하기 전에'check' 때 수를'설정 한 경우 === 1'은'check'에서 진실입니까? – GillesC

+2

''run = 0''과''check()''와''if (run === 1)''항상''false''입니다. – Hamix

답변

1

runcheck()에게 보이지 않습니다. 당신은 인자로 전달해야합니다

$("#element").scrollstop(function() { 
    var run = 0; 
    check(run); 
}); 

function check(run){ 
    console.log(run); 
    if(run === 1){ 
     $('#element').animate({ 
     scrollLeft: '10px'; 
     }); 
    } 
    } 

을하지만 당신은 check() 0으로 run을 되돌릴 수 없습니다, 당신은 다른 곳에 있음을해야 할 것이다.

세미콜론이 누락되었습니다. 코드에 추가했습니다.

난 당신이 예를이를 위해, 자바 스크립트 범위에 대한 몇 가지 자습서를 읽으십시오 : 나는 세계적으로 run 변수를 선언하고, 코드를보다 명확하게 알 수 있도록 대신 정수의 논리 값으로 값을 변경 한 http://www.w3schools.com/js/js_scope.asp

0

.

var run = false; 

$("#element").scrollstop(function() { 
    run = true; // this must be true before calling check() 
    check(); 
}); 

function check(){ 
    console.log(run) 
    if(run){ 
     run = false; 
     $("#element").animate({ 
      scrollLeft: '10px' 
     }); 
    } 
} 

희망이 있습니다. 아래

0

try 코드,

var documentScroll = function() { 
    $(document).animate({ 
     scrollLeft: '10px' 
    }, function() { 
     $(document).one('scroll', documentScroll); 
    }); 
}; 

$(document).one('scroll', documentScroll); 
관련 문제