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汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
jquery使用each方法遍历json格式数据实例
May 18 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
关于使用js算总价的问题
Jun 23 Javascript
JavaScript控制浏览器全屏显示简单示例
Jul 05 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
Aug 14 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
vue实现简单图片上传
2020/06/30 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
python3 反射的四种基本方法解析
2019/08/26 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
简述DNS进行域名解析的过程
2013/12/02 面试题
介绍下Lucene建立索引的过程
2016/03/02 面试题
县优秀教师事迹材料
2014/01/31 职场文书
超市促销活动总结
2014/07/01 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
事业单位考察材料范文
2014/12/25 职场文书
董事长岗位职责
2015/02/13 职场文书