javascript采用数组实现tab菜单切换效果


Posted in Javascript onDecember 12, 2012

最近写了一个tab菜单,这个也算是web2.0的产物了,没什么技术含量,练练手而已.

以下是tab菜单的html结构:
<div id="a"><div id="head"><span id="tab1">vhc</span><span id="tab2">dsdfd</span>..........................<span id="blank"></span></div><div id="body"></div></div>
tab1,tab2就是内容,blank是填充剩下的.body是tab标签对应的内容.

以下是javascript代码:

sx.activex.tabmenu={ 
create:function(t){ 
var a=document.createElement("div"); 
var head=document.createElement("div"); 
var body=document.createElement("div"); 
var blank=document.createElement("span"); 
a.style.height="200px"; 
a.style.width="300px"; 
//a.style.border="1px red solid"; 
head.style.height="15%"; 
//head.style.overflow="hidden"; 
head.style.width="100%"; 
blank.style.width=100-20*t.length+"%"; 
blank.style.height="100%"; 
blank.style.borderBottom="1px red solid"; 
blank.style.lineHeight=parseInt(a.style.height)*0.15+"px";; 
body.innerHTML=t[0][1]; 
body.style.height="85%"; 
body.style.padding="10px"; 
body.style.border="1px red solid"; 
body.style.borderTop="0px"; 
for(var i=0;i<t.length;i++){ 
var tab=document.createElement("span"); 
tab.style.border="1px red solid"; 
tab.style.width="20%"; 
tab.style.lineHeight=parseInt(a.style.height)*0.15+"px"; 
tab.style.textAlign="center"; 
tab.style.height="100%"; 
tab.style.backgroundColor="yellow"; 
tab.style.cursor="hand"; 
tab.innerHTML=t[i][0]; 
tab.onclick=function(r){ 
return function(){ 
for(var i1 in head.all){ 
if(head.all[i1]!=this && head.all[i1].tagName=="SPAN") 
head.all[i1].style.borderBottom="1px red solid"; 
this.style.borderBottom="0px"; } 
body.innerHTML=t[r][1]; 
} 
}(i); 
head.appendChild(tab);; 
} 
head.firstChild.style.borderBottom="0px"; 
head.appendChild(blank); 
a.appendChild(head); 
a.appendChild(body); 
return a; 
} 
}

传入的参数t是一个二维数组,里面是一个标签题目和标签内容的形式,调用方式如下:
<html> 
<head> 
<title>Untitled Document</title> 
</head> 
<body> <script src="kongjian.js"></script> 
<script> 
var a=sx.activex.tabmenu.create([["asd","wewfrwefwe"],["we","dsfsdfsdf"]]); 
document.body.appendChild(a); 
</script> 
</body> 
</html>

差不多完成了,有兴趣的朋友可以去测试下.
Javascript 相关文章推荐
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
Jul 22 Javascript
详谈javascript异步编程
Feb 21 Javascript
你所未知的3种Node.js代码优化方式
Feb 25 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
Javascript json object 与string 相互转换的简单实现
Sep 27 Javascript
js闭包用法实例详解
Dec 13 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 #Javascript
日历查询的算法 如何计算某一天是星期几
Dec 12 #Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 #Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 #Javascript
用js判断页面是否加载完成实现代码
Dec 11 #Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
Dec 11 #Javascript
IE6浏览器下resize事件被执行了多次解决方法
Dec 11 #Javascript
You might like
PHP中实现进程间通讯
2006/10/09 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
探讨如何把session存入数据库
2013/06/07 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
一段实用的php验证码函数
2016/05/19 PHP
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
图解js图片轮播效果
2015/12/20 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python之str操作方法(详解)
2017/06/19 Python
python实现多线程网页下载器
2018/04/15 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
澳大利亚相机之家:Camera House
2017/11/30 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
应届生污水处理求职信
2013/11/06 职场文书
迎八一活动主题
2014/01/31 职场文书
数学国培研修感言
2014/02/13 职场文书
暑期研修感言
2014/02/17 职场文书
求职信名称怎么写
2014/05/26 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
领导干部考核评语
2015/01/04 职场文书
会议主持词开场白
2015/05/28 职场文书
排球赛新闻稿
2015/07/17 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL