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 相关文章推荐
JS option location 页面跳转实现代码
Dec 27 Javascript
用JQuery 实现AJAX加载XML并解析的脚本
Jul 25 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
May 31 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 Javascript
three.js绘制地球、飞机与轨迹的效果示例
Feb 28 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
如何在微信小程序中存setStorage
Dec 13 Javascript
Webpack3+React16代码分割的实现
Mar 03 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
几个学习PHP的网址
2006/11/25 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python实现自动登录百度空间的方法
2017/06/10 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
2019/10/17 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
2014年公务员工作总结
2014/11/18 职场文书
股份转让协议书范本
2015/01/27 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
红色经典电影观后感
2015/06/18 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书