jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能


Posted in Javascript onApril 08, 2013

在Web中用到多选项卡功能的网站有很多,比如163和126邮箱,用过的人知道。本人在那么多的类似插件中,目前碰到这个比较好,花了点时间调试出来了,请看效果图:

jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能

这款插件叫jqueryMagicTabs,上图实现了基本功能,如添加选项卡,选择指定的选项卡。当添加的选项卡超过一定长度时会出现左右滑动的按钮,同时支持鼠标滑动选项卡。

这段代码如下所示:

<%@ page language="java"contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> 
<title>MagicTabs的基础用法</title> 
<link href="./css/default.css"type="text/css" rel="stylesheet"> 
<link href="./css/tabs.css"type="text/css" rel="stylesheet"> 
<script type="text/javascript"src="./js/jquery.js"></script> 
<script type="text/javascript"src="./js/cn.js"></script> 
<script type="text/javascript"src="./js/core.js"></script> 
<script type="text/javascript"src="./js/ui.js"></script> 
<script type="text/javascript"src="./js/global.js"></script> 
<script type="text/javascript"src="./js/mousewheel.js"></script> 
<script type="text/javascript"src="./js/tab/tabs.js"></script> 
<script type="text/javascript"src="./js/ga.js"></script> 
<script type="text/javascript"> 
$(function(){ 
var dd = [], i=0; 
for(i=0; i<10; i++){ 
var a = { 
code: 'tab' + i, 
title: '选项卡 ' + i, 
closeable: i>0, 
el: '选项卡 ' + i // You can put anything here 
}; 
dd.push(a); 
} 
var tabs = $('.tabs'); 
tabs.mac('tabs', { 
tabWidth: 80, //Use fix width 
items: dd, 
onCloseTab: function(me, c, a){ 
tnCbx.find('[value=' + c + ']').remove(); 
return true; 
} 
}).selectFirst(); 
var thd = tabs.children('.head'), thm = thd.children('.main'); 
thd.mousewheel(function(e, delta, deltaX, deltaY){ 
thm.scrollLeft(thm.scrollLeft() - deltaY * 40); 
return false; 
}); 
//切换选择的选项卡 
var tnCbx = $('#tabNoCbx').change(function(){ 
tabs.select($(this).val()); 
}); 
App.options(tnCbx, { 
data: dd, 
keyField: 'code', 
render: function(r){ 
return r.title; 
} 
}); 
//添加选项卡 
var atBtn = $('#addTabBtn').click(function(){ 
var a = tabs.addTab({ 
code: 'tab' + i, 
title: '选项卡 ' + i, 
closeable: i>0, 
el: '选项卡 ' + i // You can put anything here 
}); 
tabs.select('tab' + i); 
tnCbx.append('<optionvalue="tab' 
+ i + '">选项卡 ' + i + '</option>'); 
i++; 
}); 
}); 
</script> 
<style type="text/css"> 
#demo{ 
position:absolute; 
width: 600px; 
height: 400px; 
top: 50px; 
left: 200px; 
} 
</style> 
</head> 
<body> 
<div id="demo"> 
<div class="toolbar"> 
<div class="item "id="txt">请选择:</div> 
<div class="item"><select id="tabNoCbx" style="margin: 2px;"></select></div> 
<div class="sqrt"></div> 
<div class="itembutton" id="addTabBtn">添加选项卡</div> 
</div> 
<div class="clear"></div> 
<div class="tabs"style="height: 380px; margin: 4px;"></div> 
</div> 
</body> 
</html>

整个工程的目录如下所示:

jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能

本插件下载地址是http://boarsoft.com/cn/,里面还有很多优秀的插件,感兴趣可以自己练习下。

Javascript 相关文章推荐
javascript 程序库的比较(一)之DOM功能
Apr 07 Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
jQuery操作DOM之获取表单控件的值
Jan 23 Javascript
js+css实现文字散开重组动画特效代码分享
Aug 21 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
js 将图片连接转换成base64格式的简单实例
Aug 10 Javascript
ES6学习教程之块级作用域详解
Oct 09 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
微信小程序实现原生步骤条
Jul 25 Javascript
JavaScript声明变量和数据类型的转换
Apr 12 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
Apr 08 #Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 #Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 #Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 #Javascript
Js动态添加复选框Checkbox的实例方法
Apr 08 #Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 #Javascript
JS继承--原型链继承和类式继承
Apr 08 #Javascript
You might like
PHP数组及条件,循环语句学习
2012/11/11 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
php简单日历函数
2015/10/28 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Python基础篇之初识Python必看攻略
2016/06/23 Python
python 基础教程之Map使用方法
2017/01/17 Python
Django stark组件使用及原理详解
2019/08/22 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
Django实现随机图形验证码的示例
2020/10/15 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
学校春季防火方案
2014/06/08 职场文书
学校欢迎标语
2014/06/18 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
婚宴父母致辞
2015/07/27 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle