2014-09-01 85 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