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 相关文章推荐
收集的网上用的ajax之chat.js文件
Apr 08 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
js结合正则实现国内手机号段校验
Jun 19 Javascript
基于JavaScript实现div层跟随滚动条滑动
Jan 12 Javascript
jQuery实现图片滑动效果
Mar 08 Javascript
javascript回调函数详解
Feb 06 Javascript
javascript数组去重方法总结(推荐)
Mar 20 Javascript
js 根据对象数组中的属性进行排序实现代码
Sep 12 Javascript
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
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
?繁体转换的class
2006/10/09 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python中用altzone()方法处理时区的教程
2015/05/22 Python
python中range()与xrange()用法分析
2016/09/21 Python
python生成二维码的实例详解
2017/10/29 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Python如何实现爬取B站视频
2020/05/20 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
《月球之谜》教学反思
2014/04/10 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2015新学期开学寄语
2015/02/26 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python