[이윰] jQuery-1.8.3를 jQuery-1.9.x 이상으로 업그레이드시 masonry 오류 해결하기
페이지 정보
shadow2fox
2,644
2018.08.22 19:45:06
짧은주소
-
https://yadolee.com/tip/581 주소복사
본문
jQuery-1.8.3를 jQuery-1.9.x 이상으로 업그레이드시 masonry 오류 해결하기
그누보드에 기본 탑재되어 사용되는 jQuery-1.8.3를 jQuery-1.9.x 이상으로 업그레이드할 경우 모달창과 무한스크롤과 연계된 masonry 소스로 인해 다음과 같은 오류가 나타난다.
cannot call methods on masonry prior to initialization; attempted to call method 'appended'
이윰빌더에서 제공하는 스킨 중 갤러리(시즌3) or 블로그(시즌2) 스킨 list.skin.html를 열어 다음과 같이 수정한다.
수정 전
cannot call methods on masonry prior to initialization; attempted to call method 'appended'
이윰빌더에서 제공하는 스킨 중 갤러리(시즌3) or 블로그(시즌2) 스킨 list.skin.html를 열어 다음과 같이 수정한다.
수정 전
function( newElements ) {
var $newElems = $( newElements ).css({ opacity: 0 });
$newElems.imagesLoaded(function(){
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
var gutter = 17;
var min_width = 170;
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.gallery-item',
gutterWidth: gutter,
isAnimated: true,
columnWidth: function( containerWidth ) {
var windowSize = $(window).width();
if (windowSize > 1199) {
var box_width = (((containerWidth - 2*gutter)/3) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/3) | 0);
}
} else if (windowSize <= 1199 && windowSize > 766) {
var box_width = (((containerWidth - 1*gutter)/2) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/2) | 0);
}
} else if (windowSize <= 766 && windowSize > 566) {
var box_width = (((containerWidth - 1*gutter)/2) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/2) | 0);
}
} else {
var box_width = (((containerWidth - 0*gutter)/1) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/1) | 0);
}
}
if (box_width < min_width) {
box_width = containerWidth;
}
$('.gallery-item').width(box_width);
setTimeout(function() {
$('.gallery-item').show();
}, 0);
return box_width;
}
});
});
});
수정 후
function( newElements ) {
var gutter = 17;
var min_width = 170;
$container.imagesLoaded( function(){
$container.masonry({
itemSelector : '.gallery-item',
gutterWidth: gutter,
isAnimated: true,
columnWidth: function( containerWidth ) {
var windowSize = $(window).width();
if (windowSize > 1199) {
var box_width = (((containerWidth - 2*gutter)/3) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/3) | 0);
}
} else if (windowSize <= 1199 && windowSize > 766) {
var box_width = (((containerWidth - 1*gutter)/2) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/2) | 0);
}
} else if (windowSize <= 766 && windowSize > 566) {
var box_width = (((containerWidth - 1*gutter)/2) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/2) | 0);
}
} else {
var box_width = (((containerWidth - 0*gutter)/1) | 0) ;
if (box_width < min_width) {
box_width = (((containerWidth - gutter)/1) | 0);
}
}
if (box_width < min_width) {
box_width = containerWidth;
}
$('.gallery-item').width(box_width);
setTimeout(function() {
$('.gallery-item').show();
}, 0);
return box_width;
}
});
});
var $newElems = $( newElements ).css({ opacity: 0 });
$newElems.imagesLoaded(function(){
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
});
소스를 보면 알겠지만 masonry가 무한스크롤보다 먼저 초기화되야 언급된 오류가 일어나지 않는다.
이윰빌더
jQuery
1.8.3
1.9.x
이상
업그레이드
masonry
masonry prior to initialization
attempted to call method
appended
오류
해결하기
추천인
레벨 155
경험치 3,587,024
Progress Bar 14.04%
- 가입일 : 2015-03-10 12:21:44
- 서명 : 인간에게 가장 큰 선물은
자기 자신에게 기회를 주는 것이다.
- 크리스 가드너, Chris Gardner -
- 자기소개 : There's never a shortcut to happiness.
-
[자유 게시판] 무려 20년이란 시간이 지났군요 추억 돋는 영상입니다{이모티콘:missbone-078}2026-02-21
-
[자유 게시판] 무엇보다 건강하시고 어제 보다 나은 오늘, 오늘 보다 나은 내일을 위해 그렇게 행복함이 넘쳐나시길 기원드립니다 새해 복 많이 받으세요2026-02-16
-
[생활 정보] 15원 추가 적립이 있네요 https://campaign2.naver.com/npay/v2/click-point/?eventId=cr_2026012802_2602_01772026-02-10
-
[생활 정보] 15원 줍줍 아직 수확 전이시면 체크해 보세요 https://campaign2.naver.com/npay/v2/click-point/?eventId=cr_2026012802_2602_01272026-02-07
-
[생활 정보] 가격이 착하다 싶더니 할인이 사라지고 일반가 30,900원으로 판매하네요2026-01-28
-
[일일 메모장] 안타까운 소식입니다. 민주 진영의 거목이였던 이해찬 전 대표님 정말 고생 많으셨습니다. 이제 편히 쉬십시오.2026-01-25
-
[자유 게시판] 올 한 해도 잘 부탁드립니다. 새해 복 많이 받으세요.2026-01-06
-
[일일 메모장] 무슨 말이 필요할까요 삼가 조의를 표하며 고인의 명복을 빕니다 영면하세요2026-01-05



댓글
첫 번째 댓글을 남겨 주세요