代码之家  ›  专栏  ›  技术社区  ›  Gurpal singh

无法使用引导选项卡

  •  0
  • Gurpal singh  · 技术社区  · 7 年前

    我已经创建了bootstrap选项卡选项,并且还应用了js。所以这个盒子会一个小一个大。在第一个选项卡上,它工作正常,但在另一个选项卡上,它不工作。

    下面是我的HTML代码

     <ul class="tabs" id="myTab">
          <li class="tab-link current" data-tab="tab-1">First</li>
          <li class="tab-link" data-tab="tab-2">Second</li>
     </ul>
    
     <div id="tab-1" class="tab-content current">
     <div class="container">
        <div class="gridnew">
          <div class="grid-item">
            <img src="Result-img-1.jpg" alt="">
            <img src="Result-img-1.jpg" alt="">
            <img src="Result-img-1.jpg" alt="">
           </div>
        </div>
      </div>
     </div
    
     <div id="tab-2" class="tab-content current">
     <div class="container">
         <div class="gridnew">
            <div class="grid-item">
            <img src="Result-img-1.jpg" alt="">
            <img src="Result-img-1.jpg" alt="">
            <img src="Result-img-1.jpg" alt="">
            </div>
        </div>
      </div>
     </div
    

    下面给出了我的JS代码

    <script type="text/javascript">
     $('.gridnew').masonry({
        itemSelector: '.grid-item'
      });
    

    0 回复  |  直到 7 年前
        1
  •  2
  •   Gurpal singh    7 年前

    最后我得到了答案。

    触发每次点击我的标签,我都会看到。

    <script type="text/javascript">
      $('#myTab li').click(function (e) 
    {
         $("[id^='tab']").hide(); 
         e.preventDefault()
         var ids=$(this).data('tab');
         $("#"+ids).show();
         $('.gridnew').masonry({
             itemSelector: '.grid-item'
        });
     })
    </script>
    
        2
  •  1
  •   Jokova    6 年前

    打电话给“显示”。bs。没有问题的选项卡使用jQuery。无冲突()。对于砌体网格,需要调用“布局”方法。

    // Create the masonry grid
    var $grid = $('.gridnew').masonry({
         itemSelector: '.grid-item',
         fitWidth: true,
         gutter: 0,
         percentPosition: true
    });
    
    // Issues with bs tabs and masonry refresh  
    jQuery.noConflict();
    
    $(document).on('shown.bs.tab', 'a[data-toggle="tab"]', function (e) {
        // Reload the already created masonry grid, each time you click the Bootstrap tab
        $grid.masonry('layout');
    });