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 相关文章推荐
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
jQuery实现简单倒计时功能的方法
Jul 04 Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP里的中文变量说明
2011/07/23 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
jquery学习笔记之无new构建详解
2017/12/07 jQuery
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
线程和进程的区别及Python代码实例
2015/02/04 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
Python多分支if语句的使用
2020/09/03 Python
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
市场营销职业生涯规划书范文
2014/01/12 职场文书
运动会广播稿200字
2014/01/15 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
信仰观后感
2015/06/03 职场文书
详解python字符串驻留技术
2021/05/21 Python