基于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 表格插件整理
Apr 27 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
Nov 19 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
分享一则JavaScript滚动条插件源码
Mar 03 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
Javascript中关于Array.filter()的妙用详解
Dec 04 Javascript
Bootstrap图片轮播效果详解
Oct 17 Javascript
angularjs实现猜大小功能
Oct 23 Javascript
JS中图片压缩的方法小结
Nov 14 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
mysql 全文搜索 技巧
2007/04/27 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
JS实现评价的星星功能
2017/08/20 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python 加密的实例详解
2017/10/09 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python之pymysql的使用小结
2019/07/01 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
python实现单机五子棋
2020/08/28 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
管理失职检讨书
2014/02/12 职场文书
小学教师培训方案
2014/06/09 职场文书
高中开学感言
2015/08/01 职场文书
关于分班的感言
2015/08/04 职场文书
教师远程培训心得体会
2016/01/09 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS