基于BootStrap环境写jQuery tabs插件


Posted in Javascript onJuly 12, 2016

一直想改版网站首页的图书展示部分,以前的展示是使用BootStrap的传统的collapse,网页篇幅占用大,也不够美观,操作也来说比较麻烦。于是有了自己利用Jquery来做一个图书展示的tabs的想法,之前也在网上找了半天,并不是很满意。

下面来看看我的实现过程:

首先是HTML部分,HTML部分按照结构简约,突出干货的思路来设计。选项卡使用了列表,在列表中插入了超链接,当然这里的超链接只是作为按钮使用的,当点击任何一个链接,就切换到对应的选项卡。选项卡的内容部分直接使用DIV,将图书的展示一本一本的排列在div中,下面看看具体代码:

<div class="col-md-8" id="indexbooks">
<!-- 选项卡部分 -->
<h4 class="title" style="padding-bottom:10px;">
图 书 
<ul id="booksfilter" style="float:right;font-size:14px;"> 
<li><a class="cur" href="javascript:void(0);">入门</a><span>|</span></li>
<li><a href="javascript:void(0);">实战</a><span>|</span></li>
<li><a href="javascript:void(0);">进阶</a><span>|</span></li>
</ul>
</h4>
<div class="row">
<div class="booklist">
<!-- 入门级图书展示 -->
<div class="col-md-3">
<div class="thumbnail" style="height:220px; border-width:0px;">
<a href="/book/577e11aa2f33c" target="_blank">
<img style="height:130px;" src="http://img3.doubanio.com/mpic/s1039608.jpg"> </a>
<div class="caption">
<h5 style="text-align:center;">
<a href="/book/577e11aa2f33c" target="_blank">
LINUX权威指南(... </a></h5>
<p style="text-align:center;">
评论(0) <span class="badge">1推荐</span></p>
</div>
</div>
</div>
<!-- 其他入门图书(循环打印) -->
</div>
<div class="booklist">
<!-- 实战型图书展示 -->
<div class="col-md-3">
<div class="thumbnail" style="height:220px; border-width:0px;">
<a href="/book/577e11aa2f33c" target="_blank">
<img style="height:130px;" src="http://img3.doubanio.com/mpic/s1039608.jpg"> </a>
<div class="caption">
<h5 style="text-align:center;">
<a href="/book/577e11aa2f33c" target="_blank">
LINUX权威指南(... </a></h5>
<p style="text-align:center;">
评论(0) <span class="badge">1推荐</span></p>
</div>
</div>
</div>
<!-- 其他实战型图书(循环打印) -->
</div>
<div class="booklist">
<!-- 进阶型图书展示 -->
<div class="col-md-3">
<div class="thumbnail" style="height:220px; border-width:0px;">
<a href="/book/577e11aa2f33c" target="_blank">
<img style="height:130px;" src="http://img3.doubanio.com/mpic/s1039608.jpg"> </a>
<div class="caption">
<h5 style="text-align:center;">
<a href="/book/577e11aa2f33c" target="_blank">
LINUX权威指南(... </a></h5>
<p style="text-align:center;">
评论(0) <span class="badge">1推荐</span></p>
</div>
</div>
</div>
<!-- 其他进阶图书(循环打印) -->
</div>
</div>

由代码可知,该选项卡一共有三个选项,分为入门、实战、进阶,点击不同的选项卡,则会列出该类型的图书。

下面来看看样式表部分,看看如何美化选项卡及图书展示部分的内容:

<style>
//选项卡列表样式
#booksfilter li
{
padding:5px;//内边距 5px
list-style-type:none;
float:left;
padding:0px;
}
//设置‘|'的左右边距
#booksfilter span
{
margin-left:5px;
margin-right:5px;
}
//选项卡链接的样式
#booksfilter a
{
padding:5px;//内边距:5px
text-decoration:none;//无下划线
}
//选项卡被选中或当鼠标移动到选项卡时的样式
#booksfilter a.cur,#booksfilter a:hover
{
//背景色
color:white;//前景色
border-radius:5px;//圆角
}
</style>

代码注释已经很详细了,当然大家也可以修改它来设计出更美的样式。而当选项卡点击切换的时候,这部分的交互就要交给Jquery来完成了,它需要设置当前点击的选项卡内容为要显示的内容,而隐藏其他的选项卡,并且设置当前选项卡按钮为选中,删除其他选项卡的选中状态,下面上代码:

$(function()
{
$('#booksfilter a').each(function(i)
{
$(this).click(function(){
$(this).addClass('cur');
$(this).parent().siblings().find('a').removeClass('cur');//删除其他任何选项的cur类
$('.booklist').eq(i).show();//显示本节点
$('.booklist').eq(i).siblings().hide();//隐藏兄弟节点
})
});
});

基于BootStrap环境写jQuery tabs插件

以上所述是小编给大家介绍的基于BootStrap环境写的jQuery tabs插件,希望对大家有所帮助,如果大家想了解更多内容敬请关注三水点靠木!

Javascript 相关文章推荐
Javascript 判断函数类型完美解决方案
Sep 02 Javascript
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
jquery插件ajaxupload实现文件上传操作
Dec 09 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
AngularJS实现的base64编码与解码功能示例
May 17 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 Javascript
详细分析vue表单数据的绑定
Jul 20 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
js中Object.create实例用法详解
Oct 05 Javascript
Angular 路由route实例代码
Jul 12 #Javascript
javascript中获取class的简单实现
Jul 12 #Javascript
springMVC结合AjaxForm上传文件
Jul 12 #Javascript
require简单实现单页应用程序(SPA)
Jul 12 #Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 #Javascript
javascript中Date对象应用之简易日历实现
Jul 12 #Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 #Javascript
You might like
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
基于node实现websocket协议
2016/04/25 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python文件比较示例分享
2014/01/10 Python
Django入门使用示例
2017/12/12 Python
python输出数学符号实例
2020/05/11 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
思想汇报范文
2013/11/04 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
村官个人总结范文
2015/03/03 职场文书
感恩教师主题班会
2015/08/12 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL