JS实现完全语义化的网页选项卡效果代码


Posted in Javascript onSeptember 15, 2015

本文实例讲述了JS实现完全语义化的网页选项卡效果代码。分享给大家供大家参考。具体如下:

这是一款完全语义化的JS网页选项卡,包括了两种用法,一种是点击式,另一种是滑动门式,具体用哪一种要根据你自己的需要了,滑动门是在鼠标经过时触发,选项卡则是需要鼠标点击的。

运行效果截图如下:

JS实现完全语义化的网页选项卡效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>语义化的网页选项卡</title>
<style type="text/css">
 *{margin:0;padding:0;font-size:13px;line-height:1.5;}
 body{padding:20px;}
 .cur{color:#f60;border-bottom:1px solid #fff;font-weight:bold;background:#fff;cursor:default;}
 #tab_,dl{position:relative;float:left;height:100px;width:300px;}
 h4,dt{float:left;height:20px;margin:0 0 0 8px;display:inline;line-height:20px;width:60px;border:1px solid #ccc;position:relative;z-index:11;text-align:center;font-weight:normal;cursor:pointer;background:#eee;}
 .c,dd{position:absolute;top:21px;border:1px solid #ccc;left:0;width:250px;padding:20px;overflow:hidden;display:block;}
 #tab_{clear:left;}
 h1{clear:left;padding:10px 0}
 #tab_1.cur{color:#f60}
 #tab_2.cur{color:blue}
 #tab_3.cur{color:green}
</style>
</head>
<body>
<h1>mouseover</h1>
<dl id="tab">
 <dt>美国</dt>
 <dd>我都不怕</dd>
 <dt>朝鲜</dt>
 <dd>谁都怕我</dd>
 <dt>某国</dt>
 <dd>我谁都怕</dd>
</dl>
<h1>click</h1>
<div id="tab_">
 <h4>orange</h4>
 <div class="c">桔红</div>
 <h4>blue</h4>
 <div class="c">蓝色</div>
 <h4>green</h4>
 <div class="c">绿色</div>
</div>
<script type="text/javascript">
function id(elem) {return document.getElementById(elem)}
function show(elem) {elem.style.display = "";}
function hide(elem) {elem.style.display = "none";}
function next( elem ) {
 do {
 elem = elem.nextSibling;
 } while ( elem && elem.nodeType != 1 );
 return elem;
}
function tab(a, p) {
 var p = (p === undefined) ? {e:"onclick",n:1} : p,
  node = id(a).firstChild,
  x = [];
 p.e = (p.e === undefined) ? "onclick" : p.e;
 p.n = (p.n === undefined) ? 1 : p.n;
 node=(node.nodeType !== 1)?next(node):node;
 for (var i = 1, node; node; i++, node = next(node)) {
  x[i] = node;
 }
 for (var i = 1; x[i]; i++) {
  if(i % 2 == 0){hide(x[i]);x[i-1].id=a+(i/2)}
  x[p.n*2-1].className = "cur";
  show(x[p.n*2]);
  temp = function (i) {
   if (i % 2 == 1) {
    x[i][p.e] = function () {
     for (var j = 1; x[j]; j++) {
      if (j % 2 == 0) {
       hide(x[j]);
       x[j-1].className = ""
      }
     }
     show(x[i+1]);
     x[i].className = "cur"
    }
   } else {
    return null
   }
  }(i)
 }
}
tab("tab",{e:"onmouseover",n:2});
tab("tab_")
</script>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 计算当天是本年本月的第几周
Mar 22 Javascript
Javascript 中介者模式实例
Dec 16 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
Javascript动态绑定事件的简单实现代码
Dec 25 Javascript
javascript 内存回收机制理解
Jan 17 Javascript
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
浅析BootStrap模态框的使用(经典)
Apr 29 Javascript
利用node.js本地搭建HTTP服务器
Apr 19 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
vue实现跨域的方法分析
May 21 Javascript
js实现文字头像的生成代码
Mar 07 Javascript
React配置子路由的实现
Jun 03 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 #Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 #Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 #Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 #Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
Sep 14 #Javascript
JS+DIV+CSS实现的经典标签切换效果代码
Sep 14 #Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
Sep 14 #Javascript
You might like
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
php中strtotime函数性能分析
2016/11/20 PHP
如何实现JS函数的重载
2006/09/22 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
通过js获取div的background-image属性
2013/10/15 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python request 模块详细介绍
2020/11/10 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
SQL Server数据库笔试题和答案
2016/02/04 面试题
历史专业个人求职信范文
2013/12/07 职场文书
求职信需要的五点内容
2014/02/01 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
教师党员承诺书
2014/03/25 职场文书
会议欢迎词范文
2015/01/27 职场文书
西安兵马俑导游词
2015/02/02 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
催款函怎么写
2015/06/24 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python