Javascript는 for 루프 내에서 시간 초과 함수를 설정합니다.

폴 레저

객체를 선택하고 객체를 지정하고 페이드 인하는 루프가 있지만 루프가 실행될 때 객체 ID는 마지막 항목에 남아 있습니다.

    var ordered = Array(elements.length);
            var x = 0;
            $('#' + that.options.slide_name + '_' + that.nextslide).children().each(function () {
                ordered[x] = $(this);
                $(this).fadeOut(1);
                $(this).attr('id','current_slide_content_' + x);
                x++;
            });
//fade each element
            var time = that.options.fade_speed / ordered.length
            var overlap = time / that.options.fade_step;
            //time = time + overlap;
            var wait = 0;
            var num = 0;
            var i = null;
            var funcs = Array(ordered.length);
            for(var a = 0; a < ordered.length; a++){
                var w = wait;
                var id = $('#current_slide_content_' + a);
                window.setTimeout( function (event) {
                    id.fadeIn(time);
                    console.log(id);
                },w);
                //$('#current_slide_content_' + a).fadeIn(time);  <-- on its own works, error is with the wait time
                wait = time + wait; 
            }

실제로 타임 아웃 기능을 추가하는 최종 루프에 있도록 오류를 좁혔습니다.

for(var a = 0; a < ordered.length; a++){
                var w = wait;
                var id = $('#current_slide_content_' + a);
                window.setTimeout( function (event) {
                    id.fadeIn(time);
                    console.log(id);
                },w);
                //$('#current_slide_content_' + a).fadeIn(time);  <-- on its own works, error is with the wait time
                wait = time + wait; 
            }

요소의 ID가 기록되면 다음과 같아야합니다.

foo_0 foo_1 foo_2

그러나 대신 다음과 같이 표시됩니다.

foo_2 foo_2 foo_2

며칠 동안이 작업을 수행하고 여러 번 다시 시작했습니다. 각 시간 제한 기능에 대해 ID를 올바르게 형식화하려면 어떻게해야합니까?

Hacketo

해봐 :

window.setTimeout( (function(time_, id_){
    return function (event) {
        id_.fadeIn(time_);
        console.log(id_);
    }
})(time,id),w);

이 값 저장하는 폐쇄입니다 timeid함수의 범위를

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

r에서 결과 또는 시간 초과를 기다리는 루프

분류에서Dev

다른 기능에 영향을주지 않는 설정 시간 초과 내에서 루프

분류에서Dev

Hyperopt는 시간 초과를 설정하고 실행 중에 공간을 수정합니다.

분류에서Dev

설정된 시간 초과로 for 루프에서 변수를 지연시킬 수 있습니까?

분류에서Dev

시간이 초과 될 때까지 루프에서 명령을 실행 한 다음 변수 내보내기

분류에서Dev

Python에서 루프 중 시간 초과 설정?

분류에서Dev

약속을 잡아서 어설 션을 만드는 것이 시간 초과를 초과합니다.

분류에서Dev

시간 초과가있는 예외를 무시하고 Kotlin 코 루틴에서 여러 비동기 결과를 수집합니다.

분류에서Dev

R에서 시간 초과로 eval을 사용하여 루프를 다시 시작하는 방법은 무엇입니까?

분류에서Dev

시간 초과가있는 urlopen이 프록시 뒤에서 실패합니다.

분류에서Dev

일정 시간 후에 함수가 '시간 초과'되도록합니다.

분류에서Dev

루프 내에서 함수를 호출하면 memory_limit 초과가 발생합니다.

분류에서Dev

JavaScript에서 시간 초과로 함수를 중단하는 방법

분류에서Dev

루프 내에서 특정 시간 후에 함수 호출

분류에서Dev

arr.splice ()가 루프에서 시간 초과되었습니다. arr [i]를 대체하는 더 좋은 방법은 무엇입니까?

분류에서Dev

zeromq javascript에서 수신 시간 초과

분류에서Dev

NightWatch / JavaScript에서 시간 초과 / 수면

분류에서Dev

for 루프 사이의 Javascript 시간 초과?

분류에서Dev

Javascript에서 각 반복 사이에 시간 초과를 설정하는 방법은 무엇입니까?

분류에서Dev

azure 함수를 호출하여 눈송이에서 프로 시저를 호출하여 데이터를로드하면 소비 계획에서 시간 초과가 발생합니다.이를 달성하는 다른 방법이 있습니까?

분류에서Dev

PHP는 foreach 루프 내에서 날짜 시간 이후 경과 된 시간을 찾습니다.

분류에서Dev

SSH가 '비밀번호'프롬프트에 대한 시간 초과를 설정합니까?

분류에서Dev

스프링 통합 : 시간 초과 내에 채널 'executionFilterChannel'에 메시지를 보내지 못했습니다 : -1

분류에서Dev

math.round 함수를 사용하여 15 초에서 300 초 사이의 임의 시간을 설정하는 데 도움이 필요합니다.

분류에서Dev

1 시간 시간 창을 설정 한 다음 SAS에서 루프를 수행하는 방법

분류에서Dev

timeout은`cat`이 시간 초과되면 while read 루프를 종료합니다.

분류에서Dev

JavaScript는 시간과 초를 계산합니다.

분류에서Dev

시간 초과가있는 비동기 내부의 forEach 루프를 중단 / 취소하는 방법

분류에서Dev

객체 내에서 시간 초과를 취소하는 방법

Related 관련 기사

  1. 1

    r에서 결과 또는 시간 초과를 기다리는 루프

  2. 2

    다른 기능에 영향을주지 않는 설정 시간 초과 내에서 루프

  3. 3

    Hyperopt는 시간 초과를 설정하고 실행 중에 공간을 수정합니다.

  4. 4

    설정된 시간 초과로 for 루프에서 변수를 지연시킬 수 있습니까?

  5. 5

    시간이 초과 될 때까지 루프에서 명령을 실행 한 다음 변수 내보내기

  6. 6

    Python에서 루프 중 시간 초과 설정?

  7. 7

    약속을 잡아서 어설 션을 만드는 것이 시간 초과를 초과합니다.

  8. 8

    시간 초과가있는 예외를 무시하고 Kotlin 코 루틴에서 여러 비동기 결과를 수집합니다.

  9. 9

    R에서 시간 초과로 eval을 사용하여 루프를 다시 시작하는 방법은 무엇입니까?

  10. 10

    시간 초과가있는 urlopen이 프록시 뒤에서 실패합니다.

  11. 11

    일정 시간 후에 함수가 '시간 초과'되도록합니다.

  12. 12

    루프 내에서 함수를 호출하면 memory_limit 초과가 발생합니다.

  13. 13

    JavaScript에서 시간 초과로 함수를 중단하는 방법

  14. 14

    루프 내에서 특정 시간 후에 함수 호출

  15. 15

    arr.splice ()가 루프에서 시간 초과되었습니다. arr [i]를 대체하는 더 좋은 방법은 무엇입니까?

  16. 16

    zeromq javascript에서 수신 시간 초과

  17. 17

    NightWatch / JavaScript에서 시간 초과 / 수면

  18. 18

    for 루프 사이의 Javascript 시간 초과?

  19. 19

    Javascript에서 각 반복 사이에 시간 초과를 설정하는 방법은 무엇입니까?

  20. 20

    azure 함수를 호출하여 눈송이에서 프로 시저를 호출하여 데이터를로드하면 소비 계획에서 시간 초과가 발생합니다.이를 달성하는 다른 방법이 있습니까?

  21. 21

    PHP는 foreach 루프 내에서 날짜 시간 이후 경과 된 시간을 찾습니다.

  22. 22

    SSH가 '비밀번호'프롬프트에 대한 시간 초과를 설정합니까?

  23. 23

    스프링 통합 : 시간 초과 내에 채널 'executionFilterChannel'에 메시지를 보내지 못했습니다 : -1

  24. 24

    math.round 함수를 사용하여 15 초에서 300 초 사이의 임의 시간을 설정하는 데 도움이 필요합니다.

  25. 25

    1 시간 시간 창을 설정 한 다음 SAS에서 루프를 수행하는 방법

  26. 26

    timeout은`cat`이 시간 초과되면 while read 루프를 종료합니다.

  27. 27

    JavaScript는 시간과 초를 계산합니다.

  28. 28

    시간 초과가있는 비동기 내부의 forEach 루프를 중단 / 취소하는 방법

  29. 29

    객체 내에서 시간 초과를 취소하는 방법

뜨겁다태그

보관