简单实现js选项卡切换效果


Posted in Javascript onFebruary 09, 2017

本文实例为大家分享了js选项卡切换效果的具体代码,供大家参考,具体内容如下

实现思路:

1、首先获取id元素。
2、for循环历遍按钮元素添加onclick事件。
3、排他思想,点击按钮时设置所有选项卡按钮样式为空,利用this关键字指定当前选项卡获得高亮样式。
4、下面的多个div内容块以此类推。

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>简单的选项卡切换(仿Hao123导航)</title>
</head>
<style>
 * {
  margin: 0;
  padding: 0;
 }
 .box {
  width: 278px;
  margin: 0 auto;
  margin-top: 100px;
  background-color: #F7F7F8;
  overflow: hidden;
 }
 .btn button {
  outline:none;
  color: #616161;
  font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
  border: none;
  height: 34px;
  width: 51px;
  background-color: #F7F7F8;
  float: left;
  cursor: pointer;
 }
 .box .btn i {
  height: 16px;
  border-left: 1px solid #EAEAEA;
  margin-top: 9px;
  float: left;
  _font-size: 0px;
 }
 .box .btn button:hover {
  color: #0AA770;
 }
 .box .btn s {
  cursor: pointer;
  text-decoration: none;
  font:14px/34px arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
 }
 #box1 #btns .clickbtn {
  border-top: 1px solid #0AA770;
  color: #0AA770;
 }
 .bottom {
  display: none;
  position: absolute;
  width: 278px;
  height: 110px;
  color: #fff;
  text-align: center;
  font:14px/100% arial,"Hiragino Sans GB","Hiragino Sans GB W3",\5b8b\4f53;
 }
 .bottom a {
  color: #fff;
  position: relative;
  top: -20px;
  left: 0px;
  text-decoration: none;
 }
 .bottom a:hover {
  text-decoration: underline;
 }
</style>
<script>
 window.onload = function(){
  var btns = document.getElementById("btns").getElementsByTagName("button");
  var divs = document.getElementById("bottomdivs").getElementsByTagName("div");
  btns[0].className = "clickbtn";
   for(var i = 0;i<btns.length;i++){
    btns[i].index = i;
    btns[i].onclick = function(){
     //alert(this.index);
     for(var j = 0;j<btns.length;j++){
      btns[j].className = "";
     }
     this.className = "clickbtn";
     for(var b = 0;b<btns.length;b++){
      divs[b].style.display = "none";
     }
     divs[this.index].style.display = "block";

    }
  }
 }
</script>
<body>
<div class="box" id="box1">
 <div class="btn" id="btns">
  <button>推介</button>
  <i></i>
  <button>社会</button>
  <i></i>
  <button>娱乐</button>
  <i></i>
  <button>军事</button>
  <i></i>
  <button>体育</button>
  <s>+</s>
 </div>
 <div id="bottomdivs">
  <div class="bottom" style="display: block">
   <img src="images/01.jpg" alt="">
   <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >小伙直播时遭遇“闹鬼”事件 全过程被拍下</a></h4>
  </div>
  <div class="bottom">
   <img src="images/02.jpg" alt="">
   <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >男子穿新郎装背充气娃娃游街</a></h4>
  </div>
  <div class="bottom">
   <img src="images/03.jpg" alt="">
   <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >她满足所有人对才女的幻想</a></h4>
  </div>
  <div class="bottom">
   <img src="images/04.jpg" alt="">
   <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >王毅回应中美是否会在南海发生冲突</a></h4>
  </div>
  <div class="bottom">
   <img src="images/05.jpg" alt="">
   <h4><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >刘翔与娇妻秀恩爱 豪车曝光车牌太抢眼</a></h4>
  </div>
 </div>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 动态数据下的锚点错位问题解决方法
Dec 24 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
js实现加载更多功能实例
Oct 27 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
Feb 15 Javascript
微信小程序实现弹幕墙(祝福墙)
Nov 18 Javascript
原生JS轮播图插件
Feb 09 #Javascript
jQuery页面弹出框实现文件上传
Feb 09 #Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 #Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
Feb 09 #Javascript
vue-router跳转页面的方法
Feb 09 #Javascript
基于JavaScript实现复选框的全选和取消全选
Feb 09 #Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 #Javascript
You might like
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
大学生怎样写好自荐信
2014/02/25 职场文书
合作投资意向书
2014/04/01 职场文书
校园安全标语
2014/06/07 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
运动会加油稿
2015/07/22 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python