javascript - 如何制作标签菜单

标签 javascript jquery html css tabs

我希望当我点击 #tab1 时,首先应该打开 ID 为 tab1panel。这个过程用所有 li 完成。

我在 jquery 方面并不完美。

请帮忙。

$(document).ready(function($) {
  $('ul li a#').click(function(){
    $('').addClass('show')
  })
});
ul{height: 40px;}
  li{float: left;padding: 5px;background-color: #ccc;color:#333;margin-left: 10px;list-style: none;}
  .panel{height:100px;width: 800px;margin: 0 auto 10px;background-color: #ccc;/*display: none;*/}
  .show{display: block;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
  <li> <a href="#tab1">Tab1</a></li>
  <li> <a href="#tab2">Tab2</a></li>
  <li> <a href="#tab3">Tab3</a></li>
  <li> <a href="#tab4">Tab4</a></li>
</ul>

<div class="panel" id="tab1">
  1
</div>


<div class="panel" id="tab2">
  2
</div>


<div class="panel" id="tab3">
  3
</div>


<div class="panel">
  4
</div>

最佳答案

您可以简单地使用 .hide().show() 并将 data-id 属性添加到a 元素具有相应的 id,这样当它被点击时,您可以检索 id 并应用 .show() 就可以了。

$(document).ready(function() {
  $('.panel').hide();
  $('#tab1').show();
  $('ul li a').click(function() {
    $('.panel').hide();
    $('#' + $(this).data('id')).show();
  })
});
ul {
  height: 40px;
}
li {
  float: left;
  padding: 5px;
  background-color: #ccc;
  color: #333;
  margin-left: 10px;
  list-style: none;
}
.panel {
  height: 100px;
  width: 800px;
  margin: 0 auto 10px;
  background-color: #ccc;
  /*display: none;*/
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
  <li><a href="#" data-id="tab1">Tab1</a></li>
  <li><a href="#" data-id="tab2">Tab2</a></li>
  <li><a href="#" data-id="tab3">Tab3</a></li>
  <li><a href="#" data-id="tab4">Tab4</a></li>
</ul>
<div class="panel" id="tab1">1</div>
<div class="panel" id="tab2">2</div>
<div class="panel" id="tab3">3</div>
<div class="panel" id="tab4">4</div>

关于javascript - 如何制作标签菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27211497/

相关文章:

javascript - 如何使用 HighCharts 的导出 csv 插件将长字符串转换为 CSV

javascript - JQuery:如何在发送表单之前执行代码

javascript - fadeToggle 与 text() 错误?

jquery:反向迭代children()

javascript - 使用jquery隐藏三个按钮中的两个

javascript - 我的函数没有从 react-redux 应用程序上的 handleChange 调用

JQuery 不会选择兄弟元素

html - CSS3 Hover Effect 重新定位问题

javascript - 如何将元素从静态布局位置动画到绝对布局位置?

javascript - nodejs hello world 示例 - 符号查找错误