2017-06-05 3 views
0

私は2つのOwlカルーセルを使用していますが、それらは一緒に同期され、1つのメインイメージとサムネイルが下にあります。私はこのpenのコードを使用しています。アコーデオンとカルーセルを同期させるにはどうすればよいですか?

私もページにアコーディオンがあります。アコーディオンをサムネイルと同期させ、両方の方法で動作させる必要があります。アコーディオンをクリックするとサムネイルがアクティブになり、サムネイルをクリックするとアコーディオンが開きます。

私はデモhereを持っています。

私は両方にセレクタを追加しました:

サムネイルフクロウカルーセル

$i = 1; 

$html_out .= '<div class="item thumb" data-flavor="' . $i++ . '">'; 
    $html_out .= '<img class="slide-img-thumb" src="' . $slide . '" style="background: no-repeat center center; background-size: cover;" />'; 
$html_out .= '</div>'; 

アコーディオン

$i = 1; 
$html .= '<div class="x-accordion-heading">'; 
    html .= '<a class="x-accordion-toggle collapsed hvr-bounce-to-right" data-flavor="' . $i++ . '" data-cs-collapse-toggle="" data-cs-collapse-parent="#flavour-accordion">' . $title . '</a>'; 
$html .= '</div>'; 

各事からの主なお持ち帰りはどちらもdata-flavor='1'を持っているということで、 2、3、4などに増分します。

どのようにして2つを正しく同期できますか?

+0

こんにちは、私はあなたのコードの中に探していた、なぜあなたは '今そこにある「」= thumbnai – DASH

+0

@DASH'データフレーバーから味の参照を削除しました。私はどのセレクターを作るか分からない。サムネイルに 'data-hash'があり、アコーディオンにクラスがある前。 –

答えて

0

はこれを試してみてください:

jQuery("#sync1").on('changed.owl.carousel', function(e) { 
//Added the timeout so that transition completes in that time 
setTimeout(function(){ 
    var cEl = jQuery("#sync2 .owl-item.active.current"); 
    var item = cEl.children('.item'); 
    var flavor = Number(item.data('flavor'));  
    if(!isNaN(flavor)){ 
     var el = jQuery("[data-cs-collapse-toggle]").filter("[data-flavor='" + flavor + "']"); 
     if(el.length > 0){ 
      el.trigger('click'); 
     }   
    } 
}, 100); 
}) 
+0

これは近いと感じます。 'data-flavor =" 1 "'は 'data-flavor =" 4 "'でアコーディオンを開きます。アコーディオンのどれもが親指をアクティブにしません。 –

+0

私は答えのように、funcitonの本体を100ミリ秒のタイムアウトに入れることができます – DASH

+0

どこかでエラーがあり、コンソールに構文エラーがあります。 –

関連する問題