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 相关文章推荐
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 Javascript
简单实现jquery焦点图
Dec 12 Javascript
深入理解Node.js中通用基础设计模式
Sep 19 Javascript
Vue中插入HTML代码的方法
Sep 21 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
Dec 10 Javascript
Paypal支付不完全指北
Jun 04 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
js实现类选择器和name属性选择器的示例步骤
Feb 07 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 header示例代码(推荐)
2010/09/08 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
基于jquery的表格排序
2010/09/11 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python 计算两个日期相差多少个月实例代码
2017/05/24 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
实时获取Python的print输出流方法
2019/01/07 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
意大利男装网店:Vrients
2019/05/02 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
西部世纪面试题
2014/12/05 面试题
内部类的定义、种类以及优点
2013/10/16 面试题
函授毕业生自我鉴定范文
2014/03/25 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS