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 相关文章推荐
javascript 复杂的嵌套环境中输出单引号和双引号
May 26 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
JQuery实现简单的服务器轮询效果实例
Mar 31 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
bootstrap手风琴折叠示例代码分享
May 22 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
Vue2实时监听表单变化的示例讲解
Aug 30 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 Javascript
vue实现简单的登录弹出框
Oct 26 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安装问题
2006/10/09 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php使用GeoIP库实例
2014/06/27 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
理解 JavaScript 预解析
2009/10/25 Javascript
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
js选择器全面解析
2016/06/27 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
python生成九宫格图片
2018/11/19 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
java字符串格式化输出实例讲解
2021/01/06 Python
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
放牛班的春天观后感
2015/06/01 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技