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 相关文章推荐
JQuery UI皮肤定制
Jul 27 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 Javascript
jquery插件推荐 jquery.cookie
Nov 09 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
浅谈angular2子组件的事件传递(任意组件事件传递)
Sep 30 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 Javascript
微信小程序在text文本实现多种字体样式
Nov 08 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
JS数组的常用方法整理
Mar 31 Javascript
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
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分页实例代码分享
2011/07/28 PHP
php模板原理讲解
2013/11/13 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
解决vue 表格table列求和的问题
2019/11/06 Javascript
Python中的choice()方法使用详解
2015/05/15 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
Keras自定义IOU方式
2020/06/10 Python
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
留学顾问岗位职责
2014/04/14 职场文书
学习经验演讲稿
2014/05/10 职场文书
理想演讲稿范文
2014/05/21 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
关于美容院的活动方案
2014/08/14 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
中学生逃课检讨书
2015/02/17 职场文书
家长对孩子的寄语
2015/02/26 职场文书
工作能力自我评价2015
2015/03/05 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
老兵退伍感言
2015/08/03 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python