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 Onunload与Onbeforeunload使用小结
Dec 31 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
围观tangram js库
Dec 28 Javascript
jquery下为Event handler传递动态参数的代码
Jan 06 Javascript
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
jquery中EasyUI实现同步树
Mar 01 Javascript
手机端页面rem宽度自适应脚本
May 20 Javascript
利用CSS3在Angular中实现动画
Jan 15 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
jQuery实现Select左右复制移动内容
Aug 05 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php开发文档 会员收费1期
2012/08/14 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
php英文单词统计器
2016/06/23 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php实现数字补零的方法总结
2018/09/12 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
js评分组件使用详解
2017/06/06 Javascript
js实现简单模态框实例
2018/11/16 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
Python实现矩阵转置的方法分析
2017/11/24 Python
Python闭包思想与用法浅析
2018/12/27 Python
通过shell+python实现企业微信预警
2019/03/07 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
python动态规划算法实例详解
2020/11/22 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
教育学专业毕业生的自我评价
2013/11/21 职场文书
高一自我鉴定
2013/12/17 职场文书
一年级班主任寄语
2014/01/19 职场文书
2014年终个人总结报告
2015/03/09 职场文书
股东大会通知
2015/04/24 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL