JQuery 选项卡效果(JS与HTML的分离)


Posted in Javascript onApril 01, 2010

在实际应用过程中,只要保证选项卡模块结构代码的完整性,就可以任意添加N个同类选项卡,不需要手动在HTML里绑定事件处理程序以及给要隐藏显示的内容层添加ID。
Javascript(jquery)代码如下:

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 
$("ul.menu li:first-child").addClass("current"); 
$("div.content").find("div.layout:not(:first-child)").hide(); 
$("div.content div.layout").attr("id", function(){return idNumber("No")+ $("div.content div.layout").index(this)}); 
$("ul.menu li").click(function(){ 
var c = $("ul.menu li"); 
var index = c.index(this); 
var p = idNumber("No"); 
show(c,index,p); 
}); 
function show(controlMenu,num,prefix){ 
var content= prefix + num; 
$('#'+content).siblings().hide(); 
$('#'+content).show(); 
controlMenu.eq(num).addClass("current").siblings().removeClass("current"); 
}; 
function idNumber(prefix){ 
var idNum = prefix; 
return idNum; 
}; 
}); 
</script>

CSS样式代码如下:
<style type="text/css"> 
* {margin:0; padding:0} 
ul,li { list-style:none} 
.box {width:450px; height:150px; border:1px solid #ccc; margin:10px; font-size:12px; font-family:Verdana, Arial, Helvetica, sans-serif} 
.tagMenu {height:28px; line-height:28px; background:#efefef; position:relative; border-bottom:1px solid #999} 
.tagMenu h2 {font-size:12px; padding-left:10px;} 
.tagMenu ul {position:absolute; left:100px; bottom:-1px; height:26px;} 
ul.menu li {float:left; margin-bottom:1px; line-height:16px; height:14px; margin:5px 0 0 -1px; border-left:1px solid #999; text-align:center; padding:0 12px; cursor:pointer} 
ul.menu li.current {border:1px solid #999; border-bottom:none; background:#fff; height:25px; line-height:26px; margin:0} 
.content { padding:10px} 
</style>

HTML结构代码如下:
<body> 
<div class="box"> 
<div class="tagMenu"> 
<h2>No.1 Menu</h2> 
<ul class="menu"> 
<li>Label 1.1</li> 
<li>Label 1.2</li> 
<li>Label 1.3</li> 
<li>Label 1.4</li> 
</ul> 
</div> 
<div class="content"> 
<div class="layout">infomation 1.1</div> 
<div class="layout">infomation 1.2</div> 
<div class="layout">infomation 1.3</div> 
<div class="layout">infomation 1.4</div> 
</div> 
</div> 
<div class="box"> 
<div class="tagMenu"> 
<h2>No.2 Menu</h2> 
<ul class="menu"> 
<li>Label 2.1</li> 
<li>Label 2.2</li> 
<li>Label 2.3</li> 
<li>Label 2.4</li> 
</ul> 
</div> 
<div class="content"> 
<div class="layout">infomation 2.1</div> 
<div class="layout">infomation 2.2</div> 
<div class="layout">infomation 2.3</div> 
<div class="layout">infomation 2.4</div> 
</div> 
</div> 
</body>
Javascript 相关文章推荐
js玩一玩WSH吧
Feb 23 Javascript
JS解密入门之凭直觉解
Jun 25 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
js有序数组的连接问题
Oct 01 Javascript
JS实现自动定时切换的简洁网页选项卡效果
Oct 13 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
Jun 03 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
Node.js学习之地址解析模块URL的使用详解
Sep 28 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
layui 表单标签的校验方法
Sep 04 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 #Javascript
JQuery autocomplete 使用手册
Apr 01 #Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 #Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 #Javascript
js prototype截取字符串函数
Apr 01 #Javascript
javascript getElementsByClassName函数
Apr 01 #Javascript
JS getStyle获取最终样式函数代码
Apr 01 #Javascript
You might like
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
如何在django中实现分页功能
2020/04/22 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
Shell如何接收变量输入
2016/08/06 面试题
融资租赁计划书
2014/04/29 职场文书
公司门卫工作职责
2014/06/28 职场文书
会计系毕业求职信
2014/08/07 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
Go Plugins插件的实现方式
2021/08/07 Golang
Python+DeOldify实现老照片上色功能
2022/06/21 Python