自己手写简约实用的Jquery tabs插件(基于bootstrap环境)

一直想改版网站首页的图书展示部分,以前的展示是使用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)&nbsp;<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)&nbsp;<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)&nbsp;<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();//隐藏兄弟节点
})

});

});

好了,以上就是实现全过程,下面上图,看看完成后的效果:

怎么样,还不错吧,当然你也可以修改上述代码做出更好看的tabs,期待与你的交流。

本文首发于顶求网,转载请注明来源。

时间: 2024-08-09 23:21:49

自己手写简约实用的Jquery tabs插件(基于bootstrap环境)的相关文章

实用的 jquery 小插件

1 /** 2 * ---------------------------------------------------- 3 * 实用的 jquery 插件方法 4 * @QQ 617937424 5 * @寄语 不要重复写同样的代码,学会封装成方法,慢慢积累,提高效率. 6 * ---------------------------------------------------- 7 */ 8 9 10 /** 11 * 全选/反选 12 * 13 * html结构: 14 <div i

大爱jQuery,10款漂亮实用的jQuery/CSS3插件(整合免积分下载)

整合下载地址:http://download.csdn.net/detail/yangwei19680827/7343001 jQuery真的是一款很犀利的Javascript框架,利用jQuery我们可以做出很多非常酷而且实用的应用插件,我真的很爱jQuery,下面的这10款jQuery插件你也一定会喜欢的. 1.jquery鼠标悬停变暗突出显示特效 jquery鼠标悬停变暗突出显示特效是一款效果非常棒的jquery带开关灯效果的jquery相册插件Album 在线演示    /    源码下

强大实用的jQuery幻灯片插件Owl Carousel

演 示 下 载 简介 Owl Carousel 是一个强大.实用但小巧的 jQuery 幻灯片插件,它具有一下特点: 兼容所有浏览器 支持响应式 支持 CSS3 过度 支持触摸事件 支持 JSON 及自定义 JSON 格式 支持进度条 支持自定义事件 支持延迟加载 支持自适应高度 …… Owl Carousel 提供了众多的参数.回调函数及自定义事件(具体请往下浏览),所以它几乎可以满足你的所有要求. 兼容 浏览器兼容:兼容所有浏览器,包括 IE6.IE7. jQuery 兼容:兼容 1.7 及

简单实用的jQuery分页插件

在做商城和订单管理的时候,常常会用到分页功能,所以我封装了一个jQuery的分页插件,该插件主要实现上下翻页,输入数字跳转等功能. 具体实现如下: 输入参数需要当前页码pageNo,总页码totalPage,回调函数callback. 主要的实现有两个函数,一个是根据当前页和总页数生成相应的html的代码,一个是事件绑定及回调函数的执行. creatHtml函数: creatHtml:function(){ var me=this; var content=""; //当前页码 var

5个时尚实用的jquery/css3插件及源码

%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E5%8D%81%E5%A4%A7%E8%BF%87%E6%97%B6%E6%8A%80%E8%83%BD%E5%88%AB%E6%8C%87%E6%9C%9B%E9%9D%A0%E5%AE%83%E4%BB%AC%E6%9D%A5%E6%89%BE%E5%B7%A5%E4%BD%9C http://www.zcool.com.cn/collection/ZMTY5MDcyMTY/ http://www.zcool.com

简单的神经网络算法-手写数字识别

本文通过BP神经网络实现一个简单的手写识别系统. 一.基础知识 1环境 python2.7 需要numpy等库 可利用sudo apt-get install python-安装 2神经网络原理 http://www.hankcs.com/ml/back-propagation-neural-network.html 讲的特别清楚,本实验过程中涉及矩阵运算都用numpy库的函数 3.js的基础知识 http://www.w3school.com.cn/tags/html_ref_canvas.a

BootStrap入门教程 (四) :JQuery类库插件(模态窗口,滚动监控,标签效果,提示效果,“泡芙”效果,警告区域,折叠效果,旋转木马,输入提示)

上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境.这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert),进度条(progress bar)等,能够很好减少前端工程师的代码量,实现更加丰富充实的页面. Bootstrap作为一套良好的前端工具,要实现现代的动态页面效果,javascript插件是必不可少的.它提供了12个基于JQuery类库的插件,包括模态窗口(Modals),滚动监控(Scrolls

jQuery选项卡插件

html结构 <ul id="tabs" class="tabs"> <li data-tab="users">Users</li> <li data-tab="groups">Groups</li> </ul> <div id="tabsContent" class="tabsContent"> <

原创新闻 11 个最佳 jQuery 滚动条插件

通过jQuery滚动条插件,你可以换掉千篇一律的默认浏览器滚动条,让你的网站或web项目更具特色,更有吸引力.本文收集了11款非常漂亮.实用的jQuery滚动条插件,你可以轻松将它们应用在自己的网站中. 1.  Windows:全屏窗口滚动插件 该插件可以很好地实现全屏滚动,每滚动一次即为一屏.比如,用户浏览下一屏幕内容时,只需手动滚动到某一位置,该插件会自动滚动显示下一屏全部内容.对于浏览类似于PPT的内容时比较实用. 2.  Jquery Scroll Follow:滚动跟随插件 该插件可以