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 相关文章推荐
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
Aug 01 Javascript
js方法数据验证的简单实例
Sep 17 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
Vue文件配置全局变量的实例
Sep 06 Javascript
解决微信小程序防止无法回到主页的问题
Sep 28 Javascript
js实现烟花特效
Mar 02 Javascript
OpenLayer学习之自定义测量控件
Sep 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
php开发环境配置记录
2011/01/14 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
python批量下载图片的三种方法
2013/04/22 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
Python的logging模块基本用法
2020/12/24 Python
技校个人求职信范文
2014/01/25 职场文书
计算机系本科生求职信
2014/05/31 职场文书
关于爱国的标语
2014/06/24 职场文书
校本教研活动总结
2014/07/01 职场文书
中学校园广播稿
2015/08/18 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS