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 相关文章推荐
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
jQuery瀑布流插件Wookmark使用实例
Apr 02 Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 Javascript
javascript 获取函数形参个数
Jul 31 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
jQuery实现背景弹性滚动的导航效果
Jun 01 Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 Javascript
微信小程序 网络API Websocket详解
Nov 09 Javascript
详解vue-Resource(与后端数据交互)
Jan 16 Javascript
Less 安装及基本用法
May 05 Javascript
javascript中一些奇葩的日期换算方法总结
Nov 14 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新手上路(六)
2006/10/09 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php常用hash加密函数
2014/11/22 PHP
php计算年龄精准到年月日
2015/11/17 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python之列表实现栈的工作功能
2019/01/28 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
基层工作经历证明
2014/01/13 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
作文评语集锦大全
2014/04/23 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
党校培训学习心得体会
2016/01/06 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android