js实现tab切换效果

发布时间 - 2026-01-10 23:06:17    点击率:

效果如下:

代码如下:

<!DOCTYPE html > 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>js封装一个tab效果</title> 
<style type="text/css"> 
*{margin:0; padding:0;}
body { font:12px/1.8 Arial; color:#666;}
.wrapper { width:500px; border:1px solid #e6e6e6; margin:0 auto; padding:50px;}
/*--=tabPanel--*/
#tab{border:1px solid #ccc;}
#tab .tab-bd{border-top:none;margin:0 auto;padding:10px;text-align:left;height:120px;position:relative}
.tab-nav{margin:0 auto;padding:0;background:#eee;height:26px;}
.tab-nav li{display:inline;list-style:none outside none;width:90px;height:26px;float:left;line-height:26px;text-align:center;}
.tab-nav li a{color:#555;display:inline-block}
.tab-nav li a:hover,.tab-nav li.hover a{text-decoration:none;background:#fff;color:#000;display:block; }
.hidden{display:none}
</style> 
<script type="text/javascript">
function tabPanel(param){
 var defaultIndex=param["default"]||0,//设置显示的页面
 panelobj=param["panel"],//设置tab容器
 defalutClass=param["defalutStyle"]||"",//设置tab菜单项的普通样式
 hoverClass=param["hoverStyle"]||"hover",//设置鼠标移到tab菜单项的样式
 currentIndex=defaultIndex,
 menus=_$(panelobj).getElementsByTagName("ul")[0].getElementsByTagName("li"),
 contents=_$(panelobj).getElementsByTagName("ul")[1].getElementsByTagName("li"),
 menuNumber=menus.length,
 hidden="hidden";
 for(var i=0;i<menuNumber;i++){
 _setClass(contents[0],hoverClass);
 _setClass(contents[i],hidden);
 _setClass(menus[i],defalutClass);
 (function(i){
  menus[i].onmouseover=function(){
  var old=menus[currentIndex];
  _setClass(old,defalutClass);
  _setClass(contents[currentIndex],hidden);
  var cur=menus[i];
  _setClass(cur,hoverClass);
  currentIndex=i;
  _setClass(contents[i],"");
  };
 })(i);
 }
 _setClass(menus[currentIndex],hoverClass);
 _setClass(contents[currentIndex],"");
 //便利函数
 function _setClass(obj,className){obj.className=className}
 function _$(oid){return typeof(oid) == "string"?document.getElementById(oid):oid}
}
</script>
<body> 
<div class="wrapper">
<div id="tab">
 <!-- tabHead -->
 <ul class="tab-nav">
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >交易安全</a></li>
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >淘宝大学</a></li>
 <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >爱心</a></li>
 </ul>
 <!-- tabPanel-->
 <ul class="tab-bd">
 <li>
  1111
 </li>
 <li>
  222
 </li>
 <li>
  333
 </li>
 </ul>
</div>
<script type="text/javascript">
tabPanel({"panel":"tab"});//panel为必填项,default、defalutStyle、hoverStyle为选填项
</script>
</div>
</body> 
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js实现tab切换  # js  # tab切换效果  # js实现tab选项卡切换  # Vue.js实现tab切换效果  # javascript实现tab切换特效  # javascript实现tab切换的四种方法  # 一个精简的JS DIV层tab切换代码  # 一个js的tab切换效果代码[代码分离]  # 基于jquery的tab切换 js原理  # javascript仿126邮箱TAB切换效果  # js中常用的Tab切换效果(推荐)  # JS实现简单的tab切换选项卡效果  # 原生js+css实现tab切换功能  # 菜单项  # 鼠标  # 淘宝  # 移到  # 必填  # solid  # tabPanel  # auto  # border  # color  # wrapper  # width  # ccc  # background  # nav  # relative  # eee  # display  # li  # top 


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


相关推荐: 如何在云主机快速搭建网站站点?  微信h5制作网站有哪些,免费微信H5页面制作工具?  浅谈javascript alert和confirm的美化  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何快速使用云服务器搭建个人网站?  如何在阿里云虚拟服务器快速搭建网站?  javascript日期怎么处理_如何格式化输出  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何保护应用免受CSRF攻击?(原理和示例)  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  网站制作报价单模板图片,小松挖机官方网站报价?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  JavaScript如何实现继承_有哪些常用方法  手机软键盘弹出时影响布局的解决方法  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在云虚拟主机上快速搭建个人网站?  昵图网官网入口 昵图网素材平台官方入口  音响网站制作视频教程,隆霸音响官方网站?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  EditPlus 正则表达式 实战(3)  JavaScript常见的五种数组去重的方式  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何在不使用负向后查找的情况下匹配特定条件前的换行符  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel如何使用.env文件管理环境变量?(最佳实践)  高防服务器租用指南:配置选择与快速部署攻略  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Android自定义控件实现温度旋转按钮效果  高端建站如何打造兼具美学与转化的品牌官网?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何用搬瓦工VPS快速搭建个人网站?  如何在服务器上三步完成建站并提升流量?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】