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 相关文章推荐
地震发生中逃生十大法则
May 12 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
Feb 07 Javascript
JavaScript中实现块作用域的方法
Apr 01 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 Javascript
js实时获取系统当前时间实例代码
Jun 28 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
js 动态修改css文件用到了cssRule
Aug 20 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
AngularJS中实现动画效果的方法
Jul 28 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JavaScript运算符小结
2015/06/03 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
Python数据结构之翻转链表
2017/02/25 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python代码太长换行的实现
2019/07/05 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
中考学习决心书
2015/02/04 职场文书
六年级语文教学反思
2016/03/03 职场文书
python井字棋游戏实现人机对战
2022/04/28 Python