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播放wav文件(源码)
Apr 22 Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 Javascript
ajax跨域调用webservice的实现代码
May 09 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
详解VUE 定义全局变量的几种实现方式
Jun 01 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
Jul 13 Javascript
基于对象合并功能的实现示例
Oct 10 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
JavaScript实现预览本地上传图片功能完整示例
Mar 08 Javascript
layui表格数据重载
Jul 27 Javascript
vue框架制作购物车小球动画效果实例代码
Sep 26 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 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实现singleton()单例模式实例
2014/11/06 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
详解python的数字类型变量与其方法
2016/11/20 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
谈谈python垃圾回收机制
2020/09/27 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
《蒲公英》教学反思
2014/02/28 职场文书
党建示范点实施方案
2014/03/12 职场文书
锅炉工岗位职责
2015/02/13 职场文书
民事申诉状范本
2015/05/20 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
为Centos安装指定版本的Docker
2022/04/01 Servers