博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手动实现jQuery Tools里面tab功能
阅读量:6318 次
发布时间:2019-06-22

本文共 1554 字,大约阅读时间需要 5 分钟。

平时开发中用的Javascript类库都是jQuery,用到插件或者第三方类库能从jQuery Tools里面找到,基本不用其他的。当然有时同事喜欢使用jQuery UI里面的插件。并且jQuery Tools里面的插件和jQuery UI里面的插件还会出现冲突。这个事情就不舒服了。不过基本开发之前就确定好用哪个类库,免得后期开发中因为冲突的增加,增加项目的开发周期和开发成本。当然如果你掌握好jQuery Tools里面的插件,有些功能和效果很快就开发好了。之前一个项目,就只使用了jQuery Tools里面的tab插件和scrollable功能就完成了。线上地址:

说明:公司一个项目使用的ASP.NET MVC 1.0,jQuery版本是visual studio创建项目时自带的版本。1.4.2。然后项目中使用到一个拖拽功能,以前开发的同事估计也只找到了基于jQuery 1.4.2的第三方类库,我没有具体去分析这个拖拽插件。现在项目要进行改版升级,增加了一个tab功能,我平时用jQuery Tools用的多,首先想到是用jQuery Tools里面的tab插件。但是jQuery Tools版本升级到v1.2.7时把默认的要求的jQuery的版本也提高了。要基于jQuery 1.7.2。大家可以去它的下载地址看一下: 。先说明一下,我之前也没有解决过一个项目中用到不同版本的jQuery问题,然后我就在网上搜索解决方法。但是基本上是把老版本放在一个变量中,然后使用$.noConflict(true)方法。但是特殊的是jQuery Tools貌似用不了这个方法把高版本的jQuery传入到类库中。

其实前端开发中tab功能很简单,当然自己写成jQuery Tools中tab一样强大,还是需要不少代码和分析的。我这里写出一个最简单,也是最粗糙的版本。jQuery Tools中tab功能演示地址:。截图如下:

点击不同tab,高亮当前的tab背景,然后下面显示相对应的内容。样式和布局尽可能利用jQuery Toolst提供的,代码如下所示,这里主要说一下this的使用和jQuery中index()和eq()函数的使用。

 

代码相对比较简单。在开发过程有2个问题,第一需要知道当前点击了那个tab,也就是最上面的a标签。第二个如何去指定的内容div显示。$(this)就是表明当前点击的哪个元素,所以此时就是当前点击的哪个a标签。$(this).parent()就是当前点击a标签的父级元素。通过Chrome查看如下图所示:

$(this).parent().index(),这段代码可能有点难理解。我们看一下jQuery中index()函数的用法。在线地址: 获得第一个匹配元素相对于同胞元素的index位置,从0开始计数。在这里就反映为当前点击a的父级li元素在三个li的中的位置。我截图是因为我点击的第二个tab,所以此时的$(this).parent().index()的值为1。然后

 

eq()选择器介绍:

$(".panes .panesitem").eq(currenttab)此时currenttab为1,所以代码相当于$(".panes .panesitem").eq(1),其实$(".panes .panesitem")返回的是一个元素集合,eq(1)表明从0开始计算,为1的元素被选中。这也正是我要达到的效果。点击上面的tab,显示下面对应的tab content。

参考网址:

解决项目中多个版本jQuery冲突问题:

jQuery Tools项目首页:

 

转载于:https://www.cnblogs.com/liminjun88/p/3394984.html

你可能感兴趣的文章
Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
查看>>
设计模式之八(原型模式)
查看>>
基于ZooKeeper的Dubbo注册中心
查看>>
知乎上关于c和c++的一场讨论_看看高手们的想法
查看>>
漫说模板方法模式---学生时代的烦恼
查看>>
Zero Copy
查看>>
正则表达式-贪婪与懒惰
查看>>
.NET中使用Redis
查看>>
PHP 函数dirname()使用实例
查看>>
jQuery attr方法修改onclick值
查看>>
魔术布局效果-使用本地JSON数据提供数据服务
查看>>
WCF分布式开发必备知识(2):.Net Remoting
查看>>
PHP与MYSQL中UTF8 中文排序例子
查看>>
【多线程】学习11
查看>>
如何在Datatable中取得每列的数据列宽度
查看>>
XML学习笔记
查看>>
任务调度开源框架Quartz动态加入、改动和删除定时任务
查看>>
C#、.NET网络请求总结(WebClient和WebRequest)
查看>>
[再寄小读者之数学篇](2014-11-20 计算二重积分)
查看>>
Material Designer的低版本兼容实现(八)—— Flat Button
查看>>