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 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
Web 前端设计模式--Dom重构 提高显示性能
Oct 22 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
Jquery操作Ajax方法小结
Nov 29 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
基于Bootstrap+jQuery.validate实现表单验证
May 30 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
使用Dropzone.js上传的示例代码
Oct 10 Javascript
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 Javascript
vue通过过滤器实现数据格式化
Jul 20 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中curl_setopt函数用法实例分析
2015/04/16 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
点击文章内容处弹出页面代码
2009/10/01 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
python和opencv实现抠图
2018/07/18 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
使用python远程操作linux过程解析
2019/12/04 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
男方父母证婚词
2014/01/12 职场文书
一月红领巾广播稿
2014/02/11 职场文书
财务科科长岗位职责
2014/03/10 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
金融保险专业求职信
2014/09/03 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
小学六年级毕业感言
2015/07/30 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Go语言编译原理之变量捕获
2022/08/05 Golang