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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
jQuery 创建Dom元素
May 07 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
vue基于viewer实现的图片查看器功能
Apr 12 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
如何开发一个虚拟域名系统
2006/10/09 PHP
php牛逼的面试题分享
2013/01/18 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
php设计模式之委托模式
2016/02/13 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
datagrid框架的删除添加与修改
2013/04/08 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python3爬虫学习入门教程
2018/12/11 Python
Python初学者常见错误详解
2019/07/02 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
通信专业个人自我鉴定
2013/10/21 职场文书
工作表扬信的范文
2014/01/10 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
化妆品促销方案
2014/02/24 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
小学体育教学随笔
2015/08/14 职场文书
员工旷工检讨书
2015/08/15 职场文书
python高温预警数据获取实例
2022/07/23 Python