JS实现仿Windows经典风格的选项卡Tab切换代码


Posted in Javascript onOctober 20, 2015

本文实例讲述了JS实现仿Windows经典风格的选项卡Tab切换代码。分享给大家供大家参考,具体如下:

这款仿Windows风格的选项卡,带有灰色的立体感,示例内容是用JS控制输出,只是为了演示功能,你在用的时候完全可以去掉的。

运行效果截图如下:

JS实现仿Windows经典风格的选项卡Tab切换代码

在线演示地址如下:

具体代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>选项卡</title>
<style type="text/css">
body{
 background-color:#CCC;
}
.tab{
 margin:0;
 padding:0;
 position:absolute;
}
.tab li{
 float:left;
 list-style:none;
}
.tab li span{
 float:left;
 display:block;
 height:20px;
 line-height:20px;
 position:relative;
 border-style:solid;
 border-width:1px 1px 0 1px;
 border-color:#EEE #999 #777 #DDD;
 background-color:#CCC;
 margin:1px 2px 0 0;
 padding:0 5px 0 5px;
 font-size:12px;
 cursor:pointer;
 z-index:1;
}
.tab li div{
 display:none;
 position:absolute;
 top:22px;
 left:0px;
 background-color:#CCC;
 border:1px solid;
 border-color:#EEE #999 #777 #DDD;
 text-align:center;
 overflow:auto;
}
.tab li.selected span{
 margin-top:0;
 height:22px;
}
.tab li.selected div{
 display:block;
}
</style>
<script type="text/javascript">
function CreateTab(tab_width,tab_height,parent_obj){
 var newtab=document.createElement("UL");
 newtab.className="tab";
 parent_obj.appendChild(newtab);
 Tab.call(newtab);
 newtab.style.width=tab_width+"px";
 newtab.style.height=tab_height+"px";
 return newtab;
}
function Tab(){
 var this_tab=this;
 this.selected_page;
 this.page_names=new Array();
 this.page_contents=new Array();
 this.Select=function(){
  this_tab.selected_page.className="";
  this.className="selected";
  this_tab.selected_page=this;
 }
 this.NewPage=function(page_name){
  var newpage=document.createElement("LI");
  newpage.onclick=this.Select;
  newpage.innerHTML="<span>"+page_name+"</span><div></div>";
  this.appendChild(newpage);
  newpage.lastChild.style.width=parseInt(this.style.width)-2+"px";
  newpage.lastChild.style.height=parseInt(this.style.height)-24+"px";
  this.page_names.push(newpage.firstChild);
  this.page_contents.push(newpage.lastChild);
  return newpage;
 }
 this.SetChecked=function(page_index){
  if(page_index>-1&&this.childNodes.length>page_index){
   this.selected_page=this.childNodes[page_index];
   this.selected_page.className="selected";
  }
 }
}
</script>
</head>
<body>
<script type="text/javascript">
var newtab=CreateTab(400,300,document.body);
 newtab.NewPage("第一页");
 newtab.NewPage("第二页");
 newtab.NewPage("第三页");
 newtab.NewPage("第四页");
 newtab.NewPage("第五页");
 newtab.SetChecked(0);
 newtab.style.top="100px";
 newtab.style.left="200px";
 for(var i=0;i<newtab.childNodes.length;i++){
  newtab.page_contents[i].innerHTML=function(number){
   var content_str="";
   for(var n=0;n<1;n++){
    content_str+="<br />---------------这是第"+number+"页---------------";
   }
   return content_str;
  }(i+1);
 }
</script>
</body>
</html>

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

Javascript 相关文章推荐
JS中prototype关键字的功能介绍及使用示例
Jul 21 Javascript
js监听键盘事件示例代码
Jul 26 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
javascript类型转换示例
Apr 29 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
Mar 13 Javascript
vue工程全局设置ajax的等待动效的方法
Feb 22 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
Feb 10 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
Feb 28 Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 Javascript
JavaScript实现的简单烟花特效代码
Oct 20 #Javascript
require.js的用法详解
Oct 20 #Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
Oct 20 #Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 #Javascript
jquery如何获取元素的滚动条高度等实现代码
Oct 19 #Javascript
js验证身份证号有效性并提示对应信息
Oct 19 #Javascript
详解JavaScript数组的操作大全
Oct 19 #Javascript
You might like
PHP学习之数组值的操作
2011/04/17 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
php swoft框架实例用法
2020/12/22 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
JavaScript 学习笔记(五)
2009/12/31 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
js数组的基本使用总结
2021/01/18 Javascript
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
应届生污水处理求职信
2013/11/06 职场文书
初三化学教学反思
2014/01/23 职场文书
幼教求职信
2014/03/12 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
政协调研汇报材料
2014/08/15 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书