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

发布时间 - 2026-01-10 22:57:47    点击率:

本文实例为大家分享了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>

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


# js选项卡切换效果  # js选项卡切换  # js选项卡  # 原生js实现tab选项卡切换  # 原生js和jQuery写的网页选项卡特效对比  # javascript实现tabs选项卡切换效果(自写原生js)  # 结构/表现/行为完全分离的选项卡(jquery版和原生JS版)  # JS实现的tab切换选项卡效果示例  # js-tab选项卡  # Vue.js组件tabs实现选项卡切换效果  # js实现简单的可切换选项卡效果  # js实现tab选项卡函数代码  # 原生js实现选项卡功能  # 选项卡  # 中美  # 南海  # 多个  # 会在  # 以此类推  # 人对  # 大家分享  # 拍下  # 具体内容  # 源代码  # 大家多多  # 为空  # 发生冲突  # 娇妻  # 充气娃娃  # margin  # background  # color  # hidden 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 米侠浏览器网页背景异常怎么办 米侠显示修复  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  android nfc常用标签读取总结  JavaScript如何实现错误处理_try...catch如何捕获异常?  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  黑客如何通过漏洞一步步攻陷网站服务器?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  微信小程序 scroll-view组件实现列表页实例代码  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何基于PHP生成高效IDC网络公司建站源码?  Laravel怎么上传文件_Laravel图片上传及存储配置  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  南京网站制作费用,南京远驱官方网站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  如何在企业微信快速生成手机电脑官网?  如何快速搭建高效WAP手机网站吸引移动用户?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Python函数文档自动校验_规范解析【教程】  *服务器网站为何频现安全漏洞?  如何彻底卸载建站之星软件?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何快速建站并高效导出源代码?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  常州企业网站制作公司,全国继续教育网怎么登录?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  网站图片在线制作软件,怎么在图片上做链接?  奇安信“盘古石”团队突破 iOS 26.1 提权  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  lovemo网页版地址 lovemo官网手机登录  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  JS碰撞运动实现方法详解  Laravel如何使用Eloquent进行子查询  JavaScript如何操作视频_媒体API怎么控制播放  再谈Python中的字符串与字符编码(推荐)  Python制作简易注册登录系统  如何在Ubuntu系统下快速搭建WordPress个人网站?  昵图网官网入口 昵图网素材平台官方入口  linux写shell需要注意的问题(必看)