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的public、private和privileged模式
Dec 28 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
使用angularjs创建简单表格
Jan 21 Javascript
js不间断滚动的简单实现
Jun 03 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
Sep 18 Javascript
js实现手机web图片左右滑动效果
Dec 29 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
微信小程序实现默认第一个选中变色效果
Jul 17 Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
原生js实现trigger方法示例代码
May 22 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 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
python3代码中实现加法重载的实例
2020/12/03 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
用python读取xlsx文件
2020/12/17 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
自我评价格式
2014/01/06 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
室内趣味活动方案
2014/08/24 职场文书
开展创先争优活动总结
2014/08/28 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
新闻稿件写作技巧
2015/07/18 职场文书