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 相关控件的事件操作分解
Aug 03 Javascript
jQuery第三课 修改元素属性及内容的代码
Mar 14 Javascript
jquery 模拟雅虎首页的点击对话框效果
Apr 11 Javascript
JavaScript和ActionScript的交互实现代码
Aug 01 Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
JS原生带小白点轮播图实例讲解
Jul 22 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 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
深入了解php4(1)--回到未来
2006/10/09 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
Python多进程编程技术实例分析
2014/09/16 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
Python切片索引用法示例
2018/05/15 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
地陪导游欢迎词
2015/01/26 职场文书
工会经费申请报告
2015/05/15 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
JS setTimeout与setInterval的区别
2022/04/20 Javascript