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背投广告代码的完善
Apr 08 Javascript
JavaScript中的onerror事件概述及使用
Apr 01 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
JS数组array元素的添加和删除方法代码实例
Jun 01 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
Jan 24 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
Vue表单类的父子组件数据传递示例
May 03 Javascript
js实现按钮开关单机下拉菜单效果
Nov 22 Javascript
javascript的this关键字详解
May 20 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 Javascript
Vue双向数据绑定(MVVM)的原理
Oct 03 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
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
srcElement表格样式
2006/09/03 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
关于保护环境的建议书
2014/05/13 职场文书
任命书格式
2014/06/05 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
平遥古城导游词
2015/02/03 职场文书
学生会辞职信
2015/03/02 职场文书