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 31 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
Jun 01 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
angular中的http拦截器Interceptors的实现
Feb 21 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
Sep 27 Javascript
小程序实现抽奖动画
Apr 16 Javascript
JS使用H5实现图片预览功能
Sep 30 Javascript
JS数组方法reduce的用法实例分析
Mar 03 Javascript
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
JS中队列和双端队列实现及应用详解
Sep 29 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
Python写的贪吃蛇游戏例子
2014/06/16 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
使用django自带的user做外键的方法
2020/11/30 Python
教师简历自我评价
2014/02/03 职场文书
文案策划求职信
2014/03/18 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
村班子对照检查材料
2014/08/18 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
消防安全培训工作总结
2015/10/23 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
Python实现批量自动整理文件
2022/03/16 Python