基于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 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
Jquery插件写法笔记整理
Sep 06 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
BootStrap轮播HTML代码(推荐)
Dec 10 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
Dec 12 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
3分钟了解vue数据劫持的原理实现
May 01 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 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
zend framework多模块多布局配置
2011/02/26 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Yahoo的PHP面试题
2014/05/26 面试题
企划主管岗位职责
2013/12/12 职场文书
机关节能减排实施方案
2014/03/17 职场文书
商铺租房协议书范本
2014/12/04 职场文书
总经理助理岗位职责
2015/01/31 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
MySQL transaction事务安全示例讲解
2022/06/21 MySQL