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 相关文章推荐
会自动逐行上升的文本框
Jun 30 Javascript
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
WebSocket实现简单客服聊天系统
May 12 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
web前端vue之vuex单独一文件使用方式实例详解
Jan 11 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 Javascript
国内常用的js类库大全(CDN公共库)
Jun 24 Javascript
js实现翻牌小游戏
Jul 31 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
vue cli 全面解析
2018/02/28 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
经典c++面试题六
2012/01/18 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
出生证明公证书
2014/04/09 职场文书
文明班级建设方案
2014/05/15 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
工作简报范文
2015/07/21 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL