javascript 通用简单的table选项卡实现


Posted in Javascript onMay 07, 2010

第一步:引用table.js

<script type="text/javascript" src="table.js"> </script>

第二步:定义选中的样式,比如“active”,应用选项卡的块的ID,比如“sidebar”,默认被选中的序号,比如第一个“0”;
第三步:调用函数:
<script type="text/javascript"> 
//参数分别为:默认选择项 应用块的id 选中的样式 
table(0, "sidebar", "active") 
</script>

一切OK,选项卡响应click事件,兼任IE和FF,等有时间了再优化,效果如下:
javascript 通用简单的table选项卡实现
HTML源代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>New Web Project</title> 
<script type="text/javascript" src="table.js"> </script> 
<style type="text/css"> 
.sidebar { 
width: 140px; 
background: #C9E4D6; 
min-height: 600px; 
float: left; 
border-left: solid 1px #C8C8C8; 
} 
.sidebar ul { 
list-style:none; 
text-align: left; 
padding: 20px 0px 0px 0px; 
} 
.sidebar ul li { 
border-bottom: 1px dotted #C8C8C8; 
font-size: 14px; 
height: 30px; 
line-height: 30px; 
padding-left: 15px; 
margin-left: 15px; 
cursor: pointer; 
} 
.sidebar .active { 
background: #fff; 
} 
</style> 
</head> 
<body> 
<div class="sidebar" id="sidebar"> 
<ul> 
<li> 
选项一 
</li> 
<li> 
选项二 
</li> 
<li> 
选项三 
</li> 
<li> 
选项四 
</li> 
<li> 
选项五 
</li> 
</ul> 
</div> 
</body> 
<script type="text/javascript"> 
//参数分别为:默认选择项 应用块的id 选中的样式 
table(0, "sidebar", "active") 
</script> 
</html>

table.js
/** 
* @author Sky 
*/ 
var table=function(index,id,active) 
{ 
table=new Table(index,id,active); 
table.bind(); 
} 
var Table=function(index,id,active) 
{ 
this.index=parseInt(index); 
this.arr=document.getElementById(id).getElementsByTagName("li"); 
this.active=active; 
} 
Table.prototype={ 
bind:function() 
{ 
this.arr[this.index].className=this.active;//初始化 
var _self=this; 
for (var i = 0; i < this.arr.length; i++) 
{ 
this.arr[i].setAttribute("ext", i); 
this.arr[i].onclick = function(e) 
{ 
var _e = window.event||e; 
var _target=_e.srcElement || _e.target; 
_self.setClass(parseInt(_target.getAttribute("ext"))); 
} 
} 
}, 
setClass:function(index) 
{ 
this.arr[this.index].className=""; 
this.arr[index].className=this.active; 
this.index=index; 
} 
}

DEMO下载
Javascript 相关文章推荐
表单提交验证类
Jul 14 Javascript
jquery动态改变form属性提交表单
Jun 03 Javascript
JS跨域问题详解
Nov 25 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
node.js中的fs.unlink方法使用说明
Dec 15 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
详解javascript中的事件处理
Nov 06 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
vue中的event bus非父子组件通信解析
Oct 27 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
Feb 21 Javascript
js动态生成表格(节点操作)
Jan 12 Javascript
jQuery 创建Dom元素
May 07 #Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 #Javascript
jQuery Selector选择器小结
May 06 #Javascript
Jquery 动态添加按钮实现代码
May 06 #Javascript
jquery DOM操作 基于命令改变页面
May 06 #Javascript
JQuery 学习笔记01 JQuery初接触
May 06 #Javascript
Jquery 扩展方法
May 06 #Javascript
You might like
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
input 高级限制级用法
2009/03/26 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
python控制台中实现进度条功能
2015/11/10 Python
python字典的常用操作方法小结
2016/05/16 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python中logging库的使用总结
2017/10/18 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
如何写一个自定义标签
2012/12/28 面试题
幼儿园义卖活动方案
2014/01/17 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
Echarts如何重新渲染实例详解
2022/05/30 Javascript