简单实现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中this关键字使用方法详解
Mar 08 Javascript
用JavaScript事件串连执行多个处理过程的方法
Mar 09 Javascript
不同浏览器的怪癖小结
Jul 11 Javascript
自用js开发框架小成 学习js的朋友可以看看
Nov 16 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
vue.js实现请求数据的方法示例
Feb 07 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
微信小程序实现漂亮的弹窗效果
May 26 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生成rss类用法实例
2015/04/14 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
浅谈PHP的反射API
2017/02/26 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
javascript自然分类法算法实现代码
2013/10/11 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python+django加载静态网页模板解析
2017/12/12 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
KTV门卫岗位职责
2014/10/09 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书