2017-03-06 62 views
0

我在項目中使用Zurb基金會爲網站v6。我有一個帶有標籤的頁面,我可以動態地創建標籤和標籤內容。Zurb基金會網站v6標籤不起作用

<div class="row woocommerce-tabs"> 
    <div class="large-12 columns"> 
     <ul class="tabs" data-tabs id="product-description-tabs"> 
      <?php foreach ($tabs as $key => $tab) : ?> 
       <li class="tabs-title"> 
        <a href="#tab-<?php echo esc_attr($key); ?>"><?php echo apply_filters('woocommerce_product_' . $key . '_tab_title', esc_html($tab['title']), $key); ?></a> 
       </li> 
      <?php endforeach; ?> 
     </ul> 
     <div class="tabs-content" data-tabs-content="product-description-tabs"> 
      <?php foreach ($tabs as $key => $tab) : ?> 
       <div class="tabs-panel" id="tab-<?php echo esc_attr($key); ?>"> 
        <?php call_user_func($tab['callback'], $key, $tab); ?> 
       </div> 
      <?php endforeach; ?> 
     </div> 
    </div> 
</div> 

我發起的基礎,像這樣:

<script> 
    $(document).foundation(); 
</script> 

但問題是,在創建時的標籤,我想開一些選項卡,當我有例如兩個標籤,它只是增加了內容從新打開的第二個標籤頁到第一個標籤頁的內容。控制檯中沒有錯誤,我不確定它爲什麼會這樣做? 我在同一頁面上也使用了基礎畫布,並且工作完全正常,但這只是不按預期工作的選項卡。

+0

你能提供網站鏈接嗎? –

+0

我有本地設置 – Leff

+0

提供更多信息,然後學習如何提出問題http://stackoverflow.com/help/how-to-ask –

回答

0

我猜想(我對PHP並不那麼熱心),當標籤內容被動態添加時,$(document).foundation();在標籤本身被創建之前運行(因爲它將在頁面第一次加載時運行) 。如果我的假設是正確的,那麼您可以:

重新初始化(如果要更新現有的一套新的內容標籤):

Foundation.reInit('tabs'); // generally for all .tabs 

OR

Foundation.reInit($('#product-description-tabs')); // for that one id 

初始化後創建(如果這是一組新標籤)

$('[data-tabs]').foundation(); // Initialise all tabs 

OR

$('#product-description-tabs').foundation(); // Initialise this set of tabs 

但是,一旦你已經加載的HTML標籤到DOM,或者它實際上不會做任何事情這必須執行。