2014-03-26 4 views
0

여러 문서에 벌금이 부과 된 함수에 변수를 전달하려고합니다. 여기에도 StackOverflow에서 함수를 전달하려고합니다. 그러나 정의 할 때 ... 작동하지 않습니다. 함수가 제대로 작동하기 전에 변수를 true로 설정하십시오. 그리고 그것이 정의되어야하는 부분으로가는 것은 나에게 경고하는 것처럼 진척된다. 그러나 그것은 변수를 변경하지 않는다.jQuery 함수에 변수 전달하기

나는이 타임 아웃이 각 루프의 실행을 지연시키지 않는다는 것을 깨닫지 않는다. 그. : P 그것을 제거하지 않았습니다.

var rand = function() { 
    return Math.random().toString(36).substr(2); 
}; 

$(function(){ 
    $('.lhc').each(function() { 
     var rawlink = $(this).attr("href"); 
     var link = encodeURIComponent(rawlink); 
     var token = rand(); 
     var proceed; 
     $.get("lhc/link.php?link=" + link + "&a=c", function(data) { 
      if (data == 1) { 
       proceed = true; 
       alert('true'); 
      } else { 
       proceed = false; 
      } 
     }); 
     if (proceed) { 
      $(this).after(" <span style='font-size:xx-small;'>(Hits: <span id='" + token + "'></span>)</span>"); 
       setTimeout($.get("lhc/link.php?link=" + link + "&a=q", function(data) { 
        $('#' + token).html(data); 
       }), 3000); 
      $(this).attr("href", "lhc/link.php?link=" + link + "&a=g"); 
     } 

    }); 
}); 

답변

0

제한 시간이 호출 할 수있는 기능이 필요합니다 -

setTimeout(function(){ 
    yourFunction(token,link); 
}, 3000); 

function yourFunction(token,link){ 
    $.get("lhc/link.php?link=" + link + "&a=q", function(data) { 
        $('#' + token).html(data); 
    }); 
} 
+0

감사를 설정 아약스 기본. 그래, 알아 냈어. $ .get을 진행 변수에 던져서 true 또는 false를 반환하도록했다. 손에 범위. 잘 읽었습니다. – WASasquatch

1

$.get는 AJAX를 호출되고, 변수 proceed 때 AJAX 응답을 변경하지만, 루프, 아약스 응답을 기다리지 않습니다하여 때문에 귀하의 의견 async: true

More Info