选项卡

淩亂°似流年 2022-06-14 10:37 405阅读 0赞

关于选项卡效果

  1. 常规
  2. 传参(可设置多个参数值)
  3. 回调函数

下面是几种参考方法

常规方法

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <style> *{ margin:0;padding:0;} ul,li{ list-style: none;display: block;} .clearfix:after{ height:0;display: block;clear: both;content: "";} .type{ width:450px;margin:50px auto;border:1px solid #000001;margin-bottom: 5px;} .type ul li{ width:100px;float: left;margin-right: 10px;text-align:center;background:#ccc;height:30px;line-height: 30px;cursor: pointer;} .content{ width:450px;margin:0 auto;border:1px solid #000001;height:400px;overflow: hidden;} .content p{ display: block;height:400px;line-height: 400px;text-align: center;} .active{ background: red!important;}//className </style>
  8. <body>
  9. <div class="type">
  10. <ul class="clearfix">
  11. <li class="active">新闻</li>
  12. <li>娱乐</li>
  13. <li>社会</li>
  14. <li>生活</li>
  15. </ul>
  16. </div>
  17. <div class="content">
  18. <p style="display:block;">新闻内容</p>
  19. <p>娱乐内容</p>
  20. <p>社会内容</p>
  21. <p>生活内容</p>
  22. </div>
  23. </body>
  24. <script> window.onload=function(){ //获取 var typeObj=document.getElementsByClassName("type")[0]; var liArr=typeObj.getElementsByTagName("li"); var content=document.getElementsByClassName("content")[0]; var pArr=document.getElementsByTagName("p"); for(var i=0;i<liArr.length;i++){ liArr[i].index=i;// 自定义属性 liArr[i].onclick=function(){ // 将所有样式恢复到初始状态 for(var j=0;j<pArr.length;j++){ pArr[j].style.display="none"; liArr[j].className="" } //点击时的状态 this.className="active"; pArr[this.index].style.display="block"; } } } </script>
  25. </html>

传参(1)

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <style> *{ margin:0;padding:0;} a{ display:inline-block;width:100px;height:40px;line-height: 40px;text-align: center;text-decoration: none;margin-right:5px;} section{ width:250px;height: 100px;line-height:100px;text-align:center;background: blanchedalmond;} #salemain{ display:none;} .active{ background:red!important;} </style>
  8. <body>
  9. <div id="type" >
  10. <a href="#" class="active">生产线</a>
  11. <a href="#">销售线</a>
  12. </div>
  13. <section id="promain">
  14. 我是生产线宝宝
  15. </section>
  16. <section id="salemain">
  17. 我是销售线麻麻
  18. </section>
  19. </body>
  20. <script> //onclick=(形参)(实参) window.onload=function (){ var aArr=document.getElementsByTagName("a"); var secArr=document.getElementsByTagName("section"); for(var i=0;i<aArr.length;i++){ aArr[i].onclick=(function(x){ // 点击谁谁显示block 背景变改变className return function(){ for(var j=0;j<secArr.length;j++){ aArr[j].className=""; secArr[j].style.display="none"; } secArr[x].style.display="block"; aArr[x].className="active"; } })(i) } } </script>
  21. </html>

传参(2)

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style> *{ margin:0;padding:0;} ul,li{ list-style: none;display: block;} .clearfix:after{ height:0;display: block;clear: both;content: "";} .type{ width:450px;margin:50px auto;border:1px solid #000001;margin-bottom: 5px;} .type ul li{ width:100px;float: left;margin-right: 10px;text-align:center;background:#ccc;height:30px;line-height: 30px;cursor: pointer;} .content{ width:450px;margin:0 auto;border:1px solid #000001;height:400px;overflow: hidden;} .content p{ display: none;height:400px;line-height: 400px;text-align: center;} .active{ background: red!important;} </style>
  7. </head>
  8. <body>
  9. <div class="type">
  10. <ul class="clearfix">
  11. <li onclick="tab('con1')" class="active">新闻</li>
  12. <li onclick="tab('con2')">娱乐</li>
  13. <li onclick="tab('con3')">社会</li>
  14. <li onclick="tab('con4')">生活</li>
  15. </ul>
  16. </div>
  17. <div class="content">
  18. <p id="con1" style="display:block;">新闻内容</p>
  19. <p id="con2">娱乐内容</p>
  20. <p id="con3">社会内容</p>
  21. <p id="con4">生活内容</p>
  22. </div>
  23. </body>
  24. <script> function tab(tabNum){ var conArr=["con1","con2","con3","con4"] var liArr=document.getElementsByTagName("li") for(var i=0;i<conArr.length;i++){ if(conArr[i]==tabNum){ document.getElementById(conArr[i]).style.display="block"; liArr[i].className="active"; }else{ document.getElementById(conArr[i]).style.display="none"; liArr[i].className=""; } } } </script>
  25. </html>

回调

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style> *{ margin:0;padding:0;} ul,li{ list-style: none;display: block;} .clearfix:after{ height:0;display: block;clear: both;content: "";} .type{ width:450px;margin:50px auto;border:1px solid #000001;margin-bottom: 5px;} .type ul li{ width:100px;float: left;margin-right: 10px;text-align:center;background:#ccc;height:30px;line-height: 30px;cursor: pointer;} .active{ background: red!important;} .content{ width:450px;margin:0 auto;border:1px solid #000001;height:400px;overflow: hidden;} .content p{ height:400px;line-height: 400px;text-align: center;} </style>
  7. </head>
  8. <body>
  9. <div class="type">
  10. <ul class="clearfix">
  11. <li class="active">新闻</li>
  12. <li>娱乐</li>
  13. <li>社会</li>
  14. <li>生活</li>
  15. </ul>
  16. </div>
  17. <div class="content">
  18. <p style="display:block;">新闻内容</p>
  19. <p>娱乐内容</p>
  20. <p>社会内容</p>
  21. <p>生活内容</p>
  22. </div>
  23. </body>
  24. <script> var liArr=document.getElementsByTagName("li"); var pArr=document.getElementsByTagName("p"); for(var i=0;i<liArr.length;i++){ liArr[i].onclick=function(){ change(this); } } function change(clickObj){ for(var j=0;j<liArr.length;j++){ if(liArr[j]==clickObj){ liArr[j].className="active" pArr[j].style.display="block"; }else{ liArr[j].className="" pArr[j].style.display="none"; } } } </script>
  25. </html>

发表评论

表情:
评论列表 (有 0 条评论,405人围观)

还没有评论,来说两句吧...

相关阅读

    相关 选项

    关于选项卡效果 1. 常规 2. 传参(可设置多个参数值) 3. 回调函数 下面是几种参考方法 常规方法 <!DOCTYPE html>

    相关 CSS选项

    看到好多大型的网站都会有一些tab选项卡,所以今天就写了一个供大家参考,代码简洁明了,不需要太多的解释,只需要注意一下兼容性问题就行了。看代码 <html>

    相关 jQuery 选项

    选项卡是非常常见而实用的效果,本篇文章示例一个简单的选项卡效果,在以往的代码中都是选择jQuery对象级别插件扩展,本次将改为类级别插件扩展的方式。 上效果图: ![70]

    相关 jquery选项

    功能介绍: 1.鼠标划过当前按钮,当前按钮变色 2.对应图片展示 3.鼠标划过其他按钮,对应图片出现,其他按钮变回原色,其他图片隐藏 所有代码: