2009-09-01 5 views
0

방금 ​​jCarousel을 응용 프로그램과 함께 사용하기 시작했으며 이상한 UI 동작이 발생했습니다. 페이지가 렌더링되기 전에 잠시 동안 내용을 구성하는 모든 LI가 페이지에 확장되어 표시됩니다. 일단 jQuery ("# 캐 러셀 이름") .jcarousel(); 그래도 페이지가 다시 돌아가는 것처럼 보일 것입니다.jCarousel이 초기화되기 전에 잘못된 형식 지정 방지

우리는 우리의 응용 프로그램에서 이것을 보았지만 어떤 예제에도 해당하지 않는 이유는 jCarousel 사이트의 예제보다 콘텐츠가 훨씬 복잡하고 브라우저가 렌더링하는 데 더 오래 걸린다 고 가정합니다 HTML.

스택 오버 플로우의 다른 부분에서는 jCarousel이 적절한 너비를 알아 내지 못하기 때문에 각 li의 div를 숨기는 것이 올바르게 작동하지 않는 것으로 보입니다.

jCarousel에 캐 러셀 항목을 동적으로로드하도록 두통을 겪기 전에 다른 사람에게이 문제가 있는지, 그리고 더 쉬운 해결책이 있는지 알고 싶습니다.

답변

0

페이지 하단의 숨겨진 LI에서 회전식 슬라이드의 콘텐츠를로드하여 문제를 해결했습니다. 페이지가로드, 내가 itemLoadCallback 세트와 회전 목마 초기화 할 때 : itemLoadCallback 기능에서

itemLoadCallback: {onBeforeAnimation: switchHiddenCarouselParts} 

를, I는 회전 목마에 각 숨겨진 창을 추가

carouselLoaded = false; 
function switchHiddenCarouselParts(carousel, state) { 
    if (!carouselLoaded) { 
     panes = ["pane1", "pane2"]; 

     for (i = 0; i < panes.length; i++) { 
     hidden = $("#"+panes[i]); 
     carousel.add((i+1), hidden.html()); 
     hidden.remove(); 
     $("#"+panes[i]).show(); 
     } 
     carouselLoaded = true; 
    } 
}