javascript之通用简单的table选项卡实现(二)


Posted in Javascript onMay 09, 2010

回归原始,当样式切换后,把控制权还给页面,即table.js仅控制切换样式和记录操作:

<!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> 
<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; 
} 
.content{ 
height:600px; 
width:400px; 
border-right:1px solid #ccc; 
margin-left:140px; 
padding:20px; 
display:none; 
} 
</style> 
</head> 
<body> 
<div class="sidebar" id="sidebar"> 
<ul> 
<li point="table1"> 
选项一 
</li> 
<li point="table2"> 
选项二 
</li> 
<li point="table3"> 
选项三 
</li> 
<li point="table4"> 
选项四 
</li> 
<li point="table5"> 
选项五 
</li> 
</ul> 
</div> 
<div id="table1" class="content"> 
这是第一个选项卡的内容 
</div> 
<div id="table2" class="content"> 
这是第二个选项卡的内容 
</div> 
<div id="table3" class="content"> 
这是第三个选项卡的内容 
</div> 
<div id="table4" class="content"> 
这是第四个选项卡的内容 
</div> 
<div id="table5" class="content"> 
这是第五个选项卡的内容 
</div> 
</body> 
<script type="text/javascript" src="table.js"> </script> 
<script type="text/javascript"> 
//回调函数 可用参数:obj.lastIndex(上次选项索引) obj.index(当前选项索引) obj.arr(选项卡元素数组) 
var back=function(obj) 
{ 
var lastPoint=obj.arr[obj.lastIndex].getAttribute("point"); 
var curentPoint=obj.arr[obj.index].getAttribute("point"); 
document.getElementById(lastPoint).style.display="none"; 
document.getElementById(curentPoint).style.display="block"; 
} 
//参数分别为:选项块ID 选中的样式 回调函数 默认选择项(0开始) 
table("sidebar", "active",back,0); 
</script> 
</html>

//回调函数 可用参数:obj.lastIndex(上次选项索引) obj.index(当前选项索引) obj.arr(选项卡元素数组) 
var back=function(obj) 
{ 
var lastPoint=obj.arr[obj.lastIndex].getAttribute("point"); 
var curentPoint=obj.arr[obj.index].getAttribute("point"); 
document.getElementById(lastPoint).style.display="none"; 
document.getElementById(curentPoint).style.display="block"; 
} 
//参数分别为:选项块ID 选中的样式 回调函数 默认选择项(0开始) 
table("sidebar", "active",back,0);

table.js代码如下:
/** 
* @author Sky 
*/ 
var table=function(id,active,callBack,index) 
{ 
table[id]=new Table(id,active,callBack,index); 
table[id].bind(); 
} 
var Table=function(id,active,callBack,index) 
{ 
this.index=parseInt(index)||0;//当前索引 
this.lastIndex=this.index;//上次索引 
this.callBack=callBack||function(){}; 
this.active=active||"active"; 
this.id=id; 
this.arr=document.getElementById(id).getElementsByTagName("li"); 
} 
Table.prototype={ 
bind:function() 
{ 
//初始化选项样式 
this.setTable(this.index); 
//绑定事件 
var _self=this; 
for (var i = 0; i < this.arr.length; i++) 
{ 
this.arr[i].setAttribute("extatt", i);//钩子 
this.arr[i].onclick = function(e) 
{ 
var _e = window.event||e; 
var _target=_e.srcElement || _e.target; 
_self.setTable(parseInt(_target.getAttribute("extatt"))); 
} 
} 
}, 
setTable:function(index) 
{ 
this.lastIndex=this.index; 
this.index=index; 
//清除之前选项的样式 
this.arr[this.lastIndex].className=""; 
//激活当前选项的样式 
this.arr[this.index].className=this.active; 
//执行回调函数 
this.callBack(table[this.id]); 
} 
}
Javascript 相关文章推荐
js类中获取外部函数名的方法
Aug 19 Javascript
jQuery实现原理的模拟代码 -6 代码下载
Aug 16 Javascript
jquery中ajax学习笔记4
Oct 16 Javascript
jquery remove方法应用详解
Nov 22 Javascript
JQuery在页面中添加和除移DOM示例代码
Jun 24 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
js实现延时加载Flash的方法
Nov 26 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 Javascript
laravel-admin 与 vue 结合使用实例代码详解
Jun 04 Javascript
通过循环优化 JavaScript 程序
Jun 24 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 #Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 #Javascript
javascript 通用简单的table选项卡实现
May 07 #Javascript
jQuery 创建Dom元素
May 07 #Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 #Javascript
jQuery Selector选择器小结
May 06 #Javascript
Jquery 动态添加按钮实现代码
May 06 #Javascript
You might like
法压式咖啡之制作法
2021/03/03 冲泡冲煮
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
php 操作符与控制结构
2012/03/07 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
js验证账户名是否重复
2020/05/26 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python返回真假值(True or False)小技巧
2015/04/10 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
Python类的继承用法示例
2019/01/31 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python实现机器人卡牌
2019/10/06 Python
python3实现绘制二维点图
2019/12/04 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Python如何在bool函数中取值
2020/09/21 Python
python中_del_还原数据的方法
2020/12/09 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
销售经理工作职责范文
2013/12/03 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers