2011-01-29 3 views
1

드롭 다운을 위해 getJson 호출을 사용하고 있습니다. 이 아약스 호출에 이미지 미리로드 효과가 있어야합니다. 어느 누구도이 문제를 해결할 수 있습니까? 내 코드는 다음과 같습니다getJson 호출 전에 이미지를 미리로드하고 싶습니다.

$.getJSON("myAction.do?method=fetchThruAJAX", { 
    TypeNo: $("#Type").val(), 
    ajax: 'true' 
}, function(j) { 
    var options = '<option selected value="-1">---Select---</option>'; 
    if (j != null) { 
     $.each(j.Model, function(i, item) { 
      options += '<option value="' + item.SeqNo + '">' 
       + item.Name + '</option>'; 
     }); 
    } 
    $("select#Model").html(options); 
}); 

답변

1

당신은 세계적으로 ajaxStartajaxStop 이벤트를 사용하여 그렇게 할 수 있습니다

$("#yourEffectContainerID").ajaxStart(function() { 
    $(this).fadeIn("fast"); 
}).ajaxStop(function() { 
    $(this).fadeOut("fast"); 
}); 

그 방법은, 당신의 효과 컨테이너 모든 AJAX 요청 (그래서 행동하는 동안 표시됩니다 귀하의 드롭 다운에 대해 getJSON() 번으로 전화하시면됩니다.)

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 그것을 gloabally 같이 선언하고있다 : '$ (document) .ready (function() {$ ("# imageLoad"). function() {$ (this) .fadeOut ("fast");});}) '내 div 컨테이너를 가지고 있는데'

'하지만 코드는 작동하지 않습니다. 나는 그것을 잘못하고있는 곳에서하고 있다고 생각한다. 이 – rahul

+0

@rahul에 대한 더 좋은 그림을 얻으려면 몇 가지 예제 코드가 있으면 도와주세요.이 코드는 [이 거친 테스트] (http://jsfiddle.net/gJpYt/)에서 작동합니다. –

+0

@frederic :하지만 너무 빠르지는 않습니다. 나는 느린 것을 가지고 지금 노력하고있다, 볼 수있게해라 .... !!! !!! 또는 우리는 그것을 숨기는 것보다 약 2 초를 위해 이미지를 보여줄 수 없다. .. ??? – rahul