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系列(19):求值策略(Evaluation strategy)详解
Mar 05 Javascript
js实现顶部可折叠的菜单工具栏效果实例
May 09 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 Javascript
JS只能输入正整数的简单实例
Oct 07 Javascript
Vue.js创建Calendar日历效果
Nov 03 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
js实现延迟加载的几种方法
Apr 24 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
Mar 08 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
Vue实现搜索结果高亮显示关键字
May 28 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
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
JS Timing
2007/04/21 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python使用Matplotlib画条形图
2020/03/25 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
大四学生思想汇报
2014/01/13 职场文书
社区党务公开实施方案
2014/03/18 职场文书
教师读书活动总结
2014/05/07 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
合作协议书模板2014
2014/09/26 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
出差报告格式模板
2014/11/06 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
python tqdm用法及实例详解
2021/06/16 Python
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS