JS实现仿Windows经典风格的选项卡Tab切换代码
作者:企鹅 时间:2023-08-25 05:33:54
本文实例讲述了JS实现仿Windows经典风格的选项卡Tab切换代码。分享给大家供大家参考,具体如下:
这款仿Windows风格的选项卡,带有灰色的立体感,示例内容是用JS控制输出,只是为了演示功能,你在用的时候完全可以去掉的。
运行效果截图如下:
具体代码如下:
<!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程序设计有所帮助。
标签:JS,选项卡,Tab
0
投稿
猜你喜欢
javascript面向对象编程(一)
2008-03-07 12:54:00
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2022-11-29 08:22:38
在django中自定义字段Field详解
2023-08-02 19:35:53
Mysql中explain的使用详解
2009-12-08 16:18:00
React+TypeScript+webpack4多入口配置详解
2024-02-24 03:23:31
Python的三个重要函数详解
2022-05-19 04:58:45
Go语言异常处理案例解析
2024-02-04 07:26:02
网站tab导航的设计
2008-11-10 12:36:00
Scrapy框架使用的基本知识
2022-02-23 22:27:27
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2021-01-04 21:56:00
php开启openssl的方法
2023-11-14 06:52:51
一篇文章带你入门Python正则表达式
2021-11-29 03:00:56
网页新窗口打开好不好,数据说话
2008-05-31 17:01:00
MySQL中基本的多表连接查询教程
2024-01-13 10:44:15
oracle的一些tips技巧
2009-03-02 11:06:00
如何利用FFmpeg合并音频和视频(多种方式)
2022-03-09 10:58:58
SQL Server各种日期计算方法
2008-09-11 21:47:00
Python爬取梨视频的示例
2022-05-24 08:12:33
迎来2009年CSS裸奔节(CSS Naked Day )
2009-04-24 12:41:00
Go编写定时器与定时任务详解(附第三方库gocron用法)
2024-05-09 09:40:19