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 相关文章推荐
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
Jul 31 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
js获取IP地址的方法小结
Jul 01 Javascript
jQuery插件formValidator实现表单验证
May 23 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
Angular4集成ng2-file-upload的上传组件
Mar 14 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
前端学习——JavaScript原生实现购物车案例
Mar 31 Javascript
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
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 session常见问题集锦及解决办法总结
2007/03/18 PHP
php 引用(&amp;)详解
2009/11/20 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
解析javascript 实用函数的使用详解
2013/05/10 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
python打开网页和暂停实例
2014/09/30 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
有原因的手表:Flex Watches
2019/03/23 全球购物
家长通知书教师评语
2014/04/17 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
图神经网络GNN算法
2022/05/11 Python