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 相关文章推荐
javascript 表单规则集合对象
Jul 21 Javascript
jquery获得下拉框值的代码
Aug 13 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 Javascript
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
May 12 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
react native 文字轮播的实现示例
Jul 27 Javascript
JavaScript常用工具函数库汇总
Sep 17 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
JS 网站性能优化笔记
2011/05/24 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python引用计数操作示例
2018/08/23 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python如何将装饰器定义为类
2020/07/30 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
优秀党员主要事迹
2014/01/19 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
cf战队收人广告词
2014/03/14 职场文书
农行心得体会
2014/09/02 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
给客户的检讨书
2014/12/21 职场文书
独生子女证明范本
2015/06/19 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
vue引入Excel表格插件的方法
2021/04/28 Vue.js
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript