【问题标题】:How to make tab with boostrap, which has its tab show products of a category?如何用bootstrap制作标签,它的标签显示一个类别的产品?
【发布时间】:2016-07-22 03:20:13
【问题描述】:

我确实在互联网上的某个地方看到了一个页面,该页面令人印象深刻,如下所示:

All|Fashion|Jewerry|Food

当用户点击All 时,它将显示所有项目。 当用户单击 om Fashion 时,否则我将仅显示其类别的项目。 我记得每个项目都有类似All Fashion/All Food 这样标签控制面板会显示/隐藏项目。

我试图在引导程序上找到一些关于选项卡的教程。但是我在文档中没有看到任何类似的例子。

有人可以展示如何使用引导程序和不使用引导程序吗? 原因是我只擅长后端。 我正在学习前端。

提前致谢。

我做到了 它没有引导程序 html:

    <ul id='list_tabs'>
        <li><a data-filter='*' href='#'>All</a></li>
        <li><a data-filter='meat' href='#'>meat</a></li>
        <li><a data-filter='fish' href='#'>fish</a></li>            
    </ul>
    <ul id='list_products'>
        <li data-category='fish meat'>product 1 </li>
        <li data-category='fish'>product 2 </li>
        <li data-category='meat'>product 3 </li>        
    </ul>

我的 Javascript:

$(document).ready(function(){

    $('#list_tabs').click(function(event){
       var filter = $(event.target).attr('data-filter');        

        $('#list_products li').each(function(){
           var item = $(this);  
           if(filter=='*'||(item.attr('data-category').indexOf(filter)!= -1))
             item.show();
           else 
             item.hide();
       });
    });
});

我仍在研究如何使用引导程序来做到这一点。 感谢大家的帮助。


P/s:我确实在this site 中看到了相同的控件 我正在调查它。但我仍然希望有人能帮助我。

【问题讨论】:

  • 一些带有引导程序的标签内容Bootstrap tabs
  • 抱歉,如果真的那么容易,那我就不用去这个论坛问了。

标签: javascript jquery css twitter-bootstrap tabs


【解决方案1】:

我也喜欢查看this。您可以在学习时即兴创作。我给你一个设置,让你从这里开始。

// optional code: Throw event on tab change and work with it.
$('a[data-toggle="tab"]').on('shown.bs.tab', function(e) {
  var elem = $(e.target),
    target = elem.attr("href");
  if (target === hashify('Tab_1') || target === hashify('Tab_3') || target === hashify('Tab_5')) {
    $(hashify('testImage')).attr('src', 'http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded&a');
  }
  else {
    $(hashify('testImage')).attr('src', 'https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png');
  }
});
  
function hashify(str){
  return '#' + str;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

<ul id="myTab" class="nav nav-tabs">
  <li class="active"><a href="#Tab_1" data-toggle="tab">Tab 1</a>
  </li>
  <li class=""><a href="#Tab_2" data-toggle="tab">Tab 2</a>
  </li>
  <li class=""><a href="#Tab_3" data-toggle="tab">Tab 3</a>
  </li>
  <li class=""><a href="#Tab_4" data-toggle="tab">Tab 4</a>
  </li>
  <li class=""><a href="#Tab_5" data-toggle="tab">Tab 5</a>
  </li>
</ul>
<div id="myTabContent" class="tab-content">
  <div class="tab-pane active in" id="Tab_1">
    Tab 1
  </div>
  <div class="tab-pane" id="Tab_2">
    Tab 2
  </div>
  <div class="tab-pane" id="Tab_3">
    Tab 3
  </div>
  <div class="tab-pane" id="Tab_4">
    Tab 4
  </div>
  <div class="tab-pane" id="Tab_5">
    Tab 5
  </div>
  <img id = "testImage" src = "http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded&a" alt="Logo" height="150" width="150">
</div>
<

【讨论】:

  • 我很困惑。关于 javascript a[data-toggle="tab" 我不知道该放在哪里??在 bootstrap.js 之后???还有别的东西。但也许我必须自己找出答案。非常感谢。
  • 嘿,你可以忽略那部分。您仍然有一个带有标签的 HTML 页面...@Mirai 在更改标签时是否需要处理事件?
  • 是的,您需要在 HTML 文件中包含 bootstrap.js 才能使用它。
  • 是的,我愿意。一个项目可以是许多选项卡或一个选项卡的子项。我希望它在点击它的标签时显示出来。
  • 我已经更新了代码。请检查。如果您单击不同的选项卡,相同的图像元素会更改它的“src”。这有用吗? @Mirai
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多