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 相关文章推荐
prototype Element学习笔记(篇二)
Oct 26 Javascript
jQuery对象和DOM对象相互转化
Apr 24 Javascript
最新28个很棒的jQuery 教程
May 28 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
Mar 28 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
在页面加载完成后通过jquery给多个span赋值
May 21 Javascript
深入学习JavaScript对象
Oct 13 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
详解HTML5 使用video标签实现选择摄像头功能
Oct 25 Javascript
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
vue.js 实现点击展开收起动画效果
Jul 07 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获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
JS 表单验证大全
2011/11/23 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
Python自省及反射原理实例详解
2020/07/06 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
python实现双人五子棋(终端版)
2020/12/30 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
自我评价正确写法范文
2013/12/10 职场文书
物流创业计划书
2014/02/01 职场文书
房产委托公证书样本
2014/04/04 职场文书
合作协议书
2014/04/23 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸