2014-09-01 95 views
0

我有一个卡鲁塞尔,一旦点击一个按钮就会显示。问题是它没有被直接初始化,因为div被隐藏起来,所以卡鲁塞尔在头几秒钟被打破。有没有解决的办法?在隐藏div中初始化插件

$(document).ready(function(){ 


$("#category-slider").flexisel({ 
    visibleItems: 6, 
    animationSpeed: 1000, 
    autoPlay: true, 
    autoPlaySpeed: 3000,    
    pauseOnHover: true, 
    enableResponsiveBreakpoints: true, 
    responsiveBreakpoints: { 
     portrait: { 
      changePoint:480, 
      visibleItems: 1 
     }, 
     landscape: { 
      changePoint:640, 
      visibleItems: 2 
     }, 
     tablet: { 
      changePoint:768, 
      visibleItems: 3 
     } 
    } 
}); 
+2

难道你不应该检查插件文档实际上? – melancia 2014-09-01 13:39:19

+0

将这个插件包装在一个点击事件中,将显示卡鲁塞尔div – 2014-09-01 13:41:14

回答

0

为什么不在同一时刻初始化你的旋转木马,当你取消隐藏你的div?例如。在一个点击功能包装。例如:

$('#mybutton').one('click', function() { 
    $('#mydiv').show(); 

    $("#category-slider").flexisel({ 
     ... 
    }); 
}); 
+0

我试过了,但似乎在卡鲁塞尔中添加了额外的元素,如果我再次打开隐藏的div。即我最终有3个下一个和上一个按钮 – Steve 2014-09-01 13:56:13

+0

插件每次单击按钮时都会初始化,因此添加下一个和上一个按钮 – Steve 2014-09-01 14:27:07

+0

您好Steve,尝试使用one()而不是on()绑定click事件。有一个处理程序在第一次调用后被解除绑定。 – Julian 2014-09-01 14:57:02