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 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
javascript 日期常用的方法
Nov 11 Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
利用js+css+html实现固定table的列头不动
Dec 08 Javascript
原生JS实现在线问卷调查投票特效
Jan 03 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
JS 数组基本用法入门示例解析
Jan 16 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版)
2012/08/21 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
自己的js工具 Event封装
2009/08/21 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
简单了解Python中的几种函数
2017/11/03 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
培训楼经理岗位责任制
2014/02/10 职场文书
画展邀请函
2015/01/31 职场文书
综合测评个人总结
2015/03/03 职场文书
学术会议通知
2015/04/15 职场文书
雷锋电影观后感
2015/06/10 职场文书
同学会演讲稿
2019/04/02 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android