JavaScript实现网页tab栏效果制作

JS网页–tab栏制作,供大家参考,具体内容如下

在网页的制作中,通常会使用到tab栏,例如淘宝,商品详情,规格参数和累计评价三个栏,点击不同的栏下面出现的内容不同。在这样的设计中,JS可以做到。

根据淘宝做出默认状态下为商品介绍栏以及对应的文字,鼠标点击其他栏目,点击的栏目背景颜色变红,同时下面的栏目出现点击栏目的解释。

程序源码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>tab栏切换操作</title>

 <style>
  * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
  }
  .tab {
   margin: 100px auto;
   width: 1200px;
   height: 330px;
   background-color: royalblue;
  }
  .tab .tab_list {
   height: 30px;
   background-color: slategrey;
  }
  .tab ul li{
   float: left;
   list-style: none;
   cursor: pointer;
   width: 100px;
   height: 30px;
  }
  .color {
   background-color: red;
  }
  .tab .tab_con {
   height: 300px;
   background-color: silver;
  }
 </style>
</head>
<body>
 <div class = "tab">
  <div class="tab_list">
   <ul>
    <li class = "color">商品介绍</li>
    <li>规格与包装</li>
    <li>售后保障</li>
    <li>商品评价</li>
    <li>手机社区</li>
   </ul>
  </div>
  <div class="tab_con">
   <div class="item" style="display:block;">商品介绍</div>
   <div class="item" style="display: none;">规格与包装</div>
   <div class="item" style="display: none;">售后保障</div>
   <div class="item" style="display: none;">商品评价</div>
   <div class="item" style="display: none;">手机社区</div>

  </div>
 </div>

 <script>
  var tab_list = document.querySelector('.tab_list');
  var lis = tab_list.querySelectorAll('li');
  var items = document.querySelectorAll('.item');
  for(var i = 0;i<lis.length;i++){
   //给所有的li添加自定义属性索引号
   lis[i].setAttribute('index',i)
   //设置鼠标点击事件
   lis[i].onclick = function(){
    for( var i = 0;i<lis.length;i++){
     //将所有类的类名设置为空
     lis[i].className='';
     //将所有的display设置为none
     items[i].style.display='none';
    }
    //给点击事件的类名设置为color
    this.className='color';
    //获取点击事件的索引号
    var index = this.getAttribute('index');
    // for (var i=0;i<items.length;i++){
    //  items[i].style.display='none';
    // }
    //将点击事件的display设置为block
    items[index].style.display = 'block';
   }
  }
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。