- $(window).load(function(){
isoDom = $('#masonry').isotope({
itemSelector: '.masonry-item'
,masonry: {
columnWidth:0
});
위의 window가 load될 때 실행되는 과정이
chrome에서는 ajax 호출 후 이미지 로딩 된 후에 실행되는지 잘 적용되나
ie에서는 이미지 로딩 전 호출되는지 제대로 적용이 안됨
*해결
ajax 호출 후 isotope를 imagesLoaded를 통해 적용해서 해결함.
*필요한 js 라이브러리
- isotope.js
- imagesLoaded.js
IE에서는 ajax 호출 후 이미지를 로딩한 후 isotope가 잘 적용됨.
크롬에서는 ajax 호출 후 이미지를 로딩 하기 전에 isotope가 적용되서 화면이 깨짐.
그래서 imagesLoaded 라이브러리를 사용해 이미지가 로딩된 후 적용함.
*Ajax 호출 성공 후 callBack 함수에 다음과 같이 isotope를 destroy한 후 다시 isotope를 적용한다.
$('#masonry').imagesLoaded(function(){
if(isoDom != null){
isoDom.isotope('destroy');
}
isoDom = $('#masonry').isotope({
itemSelector: '.masonry-item'
,masonry: {
columnWidth:0
}
});
});
'JavaScript & JQuery' 카테고리의 다른 글
[Javascript & CSS] 이미지 비율 유지해서 사이즈 조절 및 가운데 정렬하기 (0) | 2018.12.18 |
---|---|
[JavaScript] Android Mobile touch events(안드로이드 모바일 디바이스에서 터치이벤트) (0) | 2015.04.21 |
[JavaScript] Device 종류 확인하기 (0) | 2015.04.21 |
[JQuery] disabled 속성을 통해 활성화, 비활성화 설정하기 (0) | 2015.04.02 |
[JSON] Object 배열을 LocalStorage & SessionStorage에 저장하기 (1) | 2015.04.01 |