该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧。

此插件旨在实现目前较为流行的tab标签页或滑动门特效,在此插件中默认使用的是鼠标滑过事件,您也可以根据自己的实际需求将滑过事件hover改为点击事件click。整体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>tab标签页/滑动门</title>
<style>
*{margin:0;padding:0;font-size:12px;}
li{list-style:none;}
.tabs{margin:20px;width:400px;height:250px;}
.tabs_nav{margin-left:1px;}
.tabs_nav li{float:left;border:1px solid #ddd;border-bottom:none;width:90px;height:25px;line-height:25px;text-align:center;cursor:pointer;margin-left:-1px;}
.tabs_nav li.active{background:#ccc;}
.tabs_content{clear:both;display:none;border:1px solid #ddd;height:200px;padding:10px;}
</style>
<script type="text/javascript" src="../../jquery-1.7.1.js"></script>
</head> <body>
<div class="tabs">
<ul class="tabs_nav">
<li>商品详情</li>
<li>商品参数</li>
<li>商品评论</li>
</ul>
<div class="tabs_content">这里是商品详情</div>
<div class="tabs_content">这里是商品参数</div>
<div class="tabs_content">这里是商品评论</div>
</div>
<script>
/*
* tabs 0.1
* Copyright (c) 2014 tnnyang http://tnnyang.cnblogs.com/
* Dependence jquery-1.7.1.js
*/
;(function($){
$.fn.tabs = function(options){
//默认参数
var defaults = {
tabsContent:'tabscontent',
Class:'active',
Event:'hover'
};
var opts = $.extend(defaults,options); this.each(function(){
var obj = $(this);
var $content = opts.tabsContent, $class = opts.Class, $event = opts.Event;
obj.find("li").first().addClass($class);
obj.children($content).first().show();
obj.find("li").on($event,function(){
$(this).addClass($class).siblings().removeClass($class);
var $index = obj.find("li").index(this);
$(this).parent().siblings(opts.tabsContent).eq($index).show().siblings(opts.tabsContent).hide();
});
});
};
})(jQuery)
</script>
<script>
$(function(){
$(".tabs").tabs({
tabsContent:'.tabs_content', //设置滑动门的详情
Class:'active'
});
})
</script>
</body>
</html>

原生js实现方法:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{margin:0;padding:0;}
li{list-style:none;}
#tabs{width:300px;margin:50px;border:1px solid #ddd;}
#tabs ul{overflow:hidden;margin-bottom:10px;}
#tabs li{float:left;width:100px;margin-left:33px;height:35px;line-height:35px;text-align:center;border-bottom:2px solid #999;cursor:pointer;}
#tabs li.active{border-bottom:#f00 2px solid;}
.tabs_con{margin:0 33px;display:none;}
.tabs_con.active{display:block;}
</style>
</head>
<body>
<div id="tabs">
<ul>
<li class="active">周排行</li>
<li>月排行</li>
</ul>
<div class="tabs_con active">这里是周排行</div>
<div class="tabs_con">这里是月排行</div>
</div>
<script>
window.onload = function(){
//标题中的 li
var lis = document.getElementById("tabs").getElementsByTagName("li");
//给标题中的所有li 添加事件
for(var i = 0;i<lis.length;i++){
lis[i].num = i; //当前是第几个 li
lis[i].onclick=function(){
var k = this.num //当前的li是第几个
//内容中的 div块
var divs = document.getElementsByClassName("tabs_con");
//把所有的div消失并去掉所有li标签的class
for(var j = 0;j<divs.length;j++){
divs[j].style.display = "none";
lis[j].className = "";
}
//显示指定的div并给当前的li标签添加class
divs[k].style.display = "block";
this.className = "active";
};
};
};
</script>
</body>
</html>

jquery插件之tab标签页或滑动门的更多相关文章

  1. 如何一行jquery代码写出tab标签页(链式操作)

    啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en&quo ...

  2. Bootstrap插件——(Tab)标签页

    项目中用到了Bootstrap的(Tab)标签页插件,记录如下: 代码如下: <div class="tabbable"> <ul class="nav ...

  3. 在Bootstrap开发中解决Tab标签页切换图表显示问题

    在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...

  4. Bootstrap入门(二十七)JS插件4:标签页

    Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...

  5. Easyui 关闭jquery-easui tab标签页前触发事件

    关闭jquery-easui tab标签页前触发事件 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 需求场景 点击父页面tab 页关闭按钮时,需要做判断,判 ...

  6. VIM 实现tab标签页及分屏,切换命令

    1,在一个窗口中,VIM 的小tab标签页命令:   :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab :tabc       关闭当前的tab ...

  7. ExtJS配置TabPanel可以拖拽Tab标签页

    1.环境说明 ExtJS版本:7.4.0.42 Sencha Cmd: v7.5.1.20 开发工具:WebStorm 2022.1.1 PS:如果是老版本的ExtJS,引入Ext.ux.TabReo ...

  8. [置顶] JQuery实战总结三 标签页效果图实现

    在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...

  9. JQuery实战总结三 标签页效果图实现

    在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...

随机推荐

  1. PHP实现上一篇、下一篇

    //php实现上一篇.下一篇 获取当前浏览文章id $id = isset($_GET[ ? intval($_GET['id']) : ""; 下一篇文章 $query = my ...

  2. 1.ok6410移植bootloader,移植u-boot,学习u-boot命令

    ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的. 一.配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生 ...

  3. Android开发如何去除标题栏title(转)

    去除标题栏title其实非常简单,他有两种方法,一种是在代码中添加,另一种是在AndroidManifest.xml中添加: 1.在代码中实现:在此方法setContentView(R.layout. ...

  4. 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘

    最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作 ...

  5. 非旋转Treap及可持久化[Merge,Split]

    http://memphis.is-programmer.com/posts/46317.html http://fanhq666.blog.163.com/blog/static/819434262 ...

  6. 移动端-解决ios连续点击页面上移问题

    引入js即可 //解决ios双击页面上移问题//在项目中测试不紧input/button这些表单控件有这个问题,p,div等也有问题,于是乎就直接在body开刀了(function(){ var ag ...

  7. SQLServer 维护脚本分享(07)IO

    sp_helpfile --当前数据库文件分配情况 sp_spaceused --当前db空间大小(有时不准) sp_spaceused 'dbo.user' --指定表的空间大小(有时不准) sp_ ...

  8. Uva 725 Division

    0.不要傻傻的用递归去构造出一个五位数来,直接for循环最小到最大就好,可以稍微剪枝一丢丢,因为最小的数是01234 从1234开始,因为倍数n最小为2 而分子是一个最多五位数,所以分母应该小于五万. ...

  9. Java 生成16/32位 MD5

    http://blog.csdn.net/codeeer/article/details/30044831

  10. iOS Debug日志 viewhierarchy调试笔记

    Debut - View Debugging - Capture View Hierarchy 当视图没有正常显示时,用view hierarchy进行调试,查看左边的分支里有没有加载对应的视图. 如 ...