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 相关文章推荐
再谈IE中Flash控件的自动激活 ObjectWrap
Mar 09 Javascript
js页面跳转常用的几种方式
Nov 25 Javascript
js优化针对IE6.0起作用(详细整理)
Dec 25 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
Apr 14 Javascript
js的回调函数详解
Jan 05 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
12条写出高质量JS代码的方法
Jan 07 Javascript
vue-cli项目中使用Mockjs详解
May 14 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 Javascript
JavaScript TAB栏切换效果的示例
Nov 05 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
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
生成卡号php代码
2008/04/09 PHP
Cannot modify header information错误解决方法
2008/10/08 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
python中反射用法实例
2015/03/27 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python Requests安装与简单运用
2016/04/07 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python图像处理入门(一)
2019/04/04 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
财产分割协议书范本
2014/11/03 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
新学期感想
2015/08/10 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis