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在IE和FF下的兼容性问题
May 19 Javascript
javascript数据结构与算法之检索算法
Apr 04 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
记录一次开发微信网页分享的步骤
May 07 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 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 破解防盗链图片函数
2008/12/09 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
Python的设计模式编程入门指南
2015/04/02 Python
简单介绍Python中的RSS处理
2015/04/13 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python模拟登陆实现代码
2017/06/14 Python
python线程池threadpool实现篇
2018/04/27 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python中的Numpy矩阵操作
2018/08/12 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
python线程join方法原理解析
2020/02/11 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
网上快餐厅创业计划书
2014/02/01 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
监察建议书
2015/02/04 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
实习感想范文
2015/08/10 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
Java实现注册登录跳转
2022/06/16 Java/Android