2010-02-09 2 views
1

JQuery each()를 실행하는 동안 간단한 작업 표시기를 수행하는 방법이 가능합니까? JQuery 코드에 문제가 있습니다. 동작을 이해할 수 없습니다./ JQuery를 처음 사용합니다. 이 같은JQuery each() 함수 중 작업 표시기

JS 코드 조회 :

$(function() { 
    $('#offer_discount').keyup(function() { 

      //here i try to show my hidden div with action indicator 
      $('#mask').show(); 

      $('#search-result').find('tr').each(function (index) { 
       // do some calc 
      }); 

      // here i try to hide my div with action indicator 
      $('#mask').hide(); 
    }); 
}); 

이 제대로 작동하지 않았다가, 숨겨진 사업부는 계산의 끝에서 보여줍니다. 아무도 도울 수 있니?

답변

2

자바 스크립트 코드 블록이 실행되는 동안 UI 업데이트가 표시되지 않습니다. 변경 사항이 표시되기 전에 브라우저로 제어권을 되돌려 야합니다. setTimeout 호출을 사용하면 브라우저에서 업데이트를 가져온 다음 나머지 코드를 시작할 수 있습니다.