Javascript 在初始化jCarousel之前防止格式错误

Javascript 在初始化jCarousel之前防止格式错误,javascript,jquery,jcarousel,Javascript,Jquery,Jcarousel,我们刚刚开始在应用程序中使用jCarousel,我们遇到了一些奇怪的UI行为。在呈现页面之前的一瞬间,构成内容的每个LI都会在页面上展开显示。一旦jQuery(“#carousel name”).jcarousel();执行后,页面会恢复到它应该是什么样子 我假设我们在应用程序中看到这一点,但在任何示例中都没有看到,是因为我们的内容比jCarousel站点上的示例要复杂得多,浏览器呈现HTML需要更长的时间 我在Stack Overflow的其他地方读到,将div隐藏在每个li中似乎无法正常工作

我们刚刚开始在应用程序中使用jCarousel,我们遇到了一些奇怪的UI行为。在呈现页面之前的一瞬间,构成内容的每个LI都会在页面上展开显示。一旦jQuery(“#carousel name”).jcarousel();执行后,页面会恢复到它应该是什么样子

我假设我们在应用程序中看到这一点,但在任何示例中都没有看到,是因为我们的内容比jCarousel站点上的示例要复杂得多,浏览器呈现HTML需要更长的时间

我在Stack Overflow的其他地方读到,将div隐藏在每个li中似乎无法正常工作,因为jCarousel无法计算出正确的宽度


在我尝试让jCarousel动态加载旋转木马项目之前,我想看看是否有其他人遇到过这个问题,以及是否有更简单的解决方案。

我通过在页面底部的隐藏LIs中加载旋转木马的内容来解决这个问题。加载页面时,我使用itemLoadCallback集初始化旋转木马:

itemLoadCallback: {onBeforeAnimation: switchHiddenCarouselParts}
在itemLoadCallback函数中,我将每个隐藏窗格添加到旋转木马:

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;
   }
}
carouselLoaded=false;
功能开关HIDDENCAROUSELPARTS(转盘,状态){
如果(!旋转木马){
窗格=[“窗格1”、“窗格2”];
对于(i=0;i