简单实现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 相关文章推荐
28个常用JavaScript方法集锦
Jan 14 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
May 10 Javascript
node.js 动态执行脚本
Jun 02 Javascript
vue.js源代码core scedule.js学习笔记
Jul 03 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
微信小程序自定义select下拉选项框组件的实现代码
Aug 28 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 Javascript
ES6 Map结构的应用实例分析
Jun 26 Javascript
layui表格分页 记录勾选的实例
Sep 02 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 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
默默简单的写了一个模板引擎
2007/01/02 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
PHP7 其他修改
2021/03/09 PHP
$()JS小技巧
2007/07/21 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
javascript操作数组详解
2014/12/17 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
layer 刷新某个页面的实现方法
2019/09/05 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
django url到views参数传递的实例
2019/07/19 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
博士生入学考试推荐信
2013/11/17 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
丧事答谢词大全
2015/09/30 职场文书
话题作文之呼唤
2019/12/18 职场文书
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python