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 相关文章推荐
JavaScript CSS修改学习第六章 拖拽
Feb 19 Javascript
jquery easyui combox一些实用的小方法
Dec 25 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
javascript针对cookie的基本操作实例详解
Nov 30 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
jQuery如何获取动态添加的元素
Jun 24 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
在Js页面通过POST传递参数跳转到新页面详解
Aug 25 Javascript
总结4个方面优化Vue项目
Feb 11 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
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
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
python实现批量转换图片为黑白
2020/06/16 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
python调用百度API实现人脸识别
2020/11/17 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
台湾旅游网站:灿星旅游
2018/10/11 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL