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 动态添加按钮实现代码
May 06 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
Nov 08 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 Javascript
JQuery学习总结【一】
Dec 01 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
JS实现斐波那契数列的五种方式(小结)
Sep 09 Javascript
vue中axios封装使用的完整教程
Mar 03 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 Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
Vue 样式绑定的实现方法
2019/01/15 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
python链接Oracle数据库的方法
2015/06/28 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python基础教程项目三之万能的XML
2018/04/02 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
python打开文件的方式有哪些
2020/06/29 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
电教室标语
2014/06/20 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
上党课的心得体会
2014/09/02 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js
Nginx 匹配方式
2022/05/15 Servers