반응형
최초 초기화 시에 .ajaxStart(), .ajaxStop() 이벤트 등록만으로 구현이 가능하다.
로딩바 이미지는 첨부파일 참고
아래와 같이 div태그를 하나 만들어서 이미지를 등록해두고,
<div id="viewLoading"> <img src="/img/viewLoading.gif" /> </div>
아래와 같이 스타일 태그를 지정해서 가운데서 돌아가도록 만들어둔다.
<style type="text/css">
div#viewLoading {
text-align: center;
padding-top: 70px;
background: #FFFFF0;
filter: alpha(opacity=60);
opacity: alpha*0.6;
}
</style>
이제 로딩바가 항상 돌아가는 상황이 만들어졌고,
최초 진입 시에는 돌아가면 안되기 때문에 hide를 해주고, 위에서 언급한 .ajaxStart(), .ajaxStop() 이벤트를 등록해보자.
<script>
$(document).ready(function() { // 최초 진입 시 로딩바 div를 hide시킨다.
$('#viewLoading').hide();
})
.ajaxStart(function() { // ajax 통신 시작 callback (로딩바 show)
console.log('start');
$('#viewLoading').show();
})
.ajaxStop(function() { // ajax 통신 완료 callback (로딩바 hide)
console.log('end');
$('#viewLoading').hide();
});
</script>
이제 $.ajax() 함수를 호출할때마다 로딩바가 돌아가는 것을 볼 수 있다.
IE, Chrome에서 테스트 결과 문제없음.
오랫만에, front-end를 접해보니 하루종일 삽질함;;
반응형
'개발 > Front-End' 카테고리의 다른 글
| [Jquery] selectbox option value 컨트롤 (0) | 2016.07.01 |
|---|---|
| [Javascript] Iframe 투명 처리 (0) | 2016.06.10 |
| [FreeMarker] Number Format에 , 가 붙어서 표시되는 경우 (0) | 2016.06.10 |
| [SiteMesh] Spring Boot + SiteMesh 3 (0) | 2016.06.10 |
| [Jqplot] 실시간 차트 구현 (0) | 2016.06.10 |