jquery插件之tab标签页或滑动门
该插件乃本博客作者所写,目的在于提升作者的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标签页或滑动门的更多相关文章
- 如何一行jquery代码写出tab标签页(链式操作)
啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en&quo ...
- Bootstrap插件——(Tab)标签页
项目中用到了Bootstrap的(Tab)标签页插件,记录如下: 代码如下: <div class="tabbable"> <ul class="nav ...
- 在Bootstrap开发中解决Tab标签页切换图表显示问题
在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...
- Bootstrap入门(二十七)JS插件4:标签页
Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...
- Easyui 关闭jquery-easui tab标签页前触发事件
关闭jquery-easui tab标签页前触发事件 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 需求场景 点击父页面tab 页关闭按钮时,需要做判断,判 ...
- VIM 实现tab标签页及分屏,切换命令
1,在一个窗口中,VIM 的小tab标签页命令: :tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab :tabc 关闭当前的tab ...
- ExtJS配置TabPanel可以拖拽Tab标签页
1.环境说明 ExtJS版本:7.4.0.42 Sencha Cmd: v7.5.1.20 开发工具:WebStorm 2022.1.1 PS:如果是老版本的ExtJS,引入Ext.ux.TabReo ...
- [置顶] JQuery实战总结三 标签页效果图实现
在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...
- JQuery实战总结三 标签页效果图实现
在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...
随机推荐
- objective-c常用方法列表(总结)
第1章 Objective-C学习环境准备 1.1 Objective-C基础 1.1.1 Objective-C的发展历程 1.1.2 Objective-C语言的特点 1.1.3 技术架构 1.2 ...
- MyBatis入门案例 增删改查
一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...
- Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)
来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架 ...
- 【SQL Server】数据库是单个用户的 无法顺利进行操作 怎么解决
1.打开数据库 2.新建查询 ,输入以下的SQL 语句 DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM( ...
- 【hibernate 报错】No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer 【get和load的区别】
报错: HTTP Status 500 - Could not write content: No serializer found for class org.hibernate.proxy.poj ...
- 从两个平方算法到分治算法-java
先来看看问题的来源,假设有这么一个数组: 1 2 -5 4 -2 3 -3 4 -15 我们要求出其中连续字数组的和的最大值 例如这么可以很明显看出 4+ –2 + 3 + –3 + 4 = 6 所有 ...
- RecyclerView 介绍 01
RecyclerView是Android support v7里面是一个自定义控件.用来显示大量数据集合.类似ListView和GridView这两个控件,RecyclerView同样可以实现,甚至更 ...
- hdu1059 多重背包(转换为01背包二进制优化)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1059 之前写过一个多重背包二进制优化的博客,不懂请参考:http://www.cnblog ...
- String equals()方法使用以及子串加密
String equals()方法的实现方法: 名称 说明 String.Equals (Object) 确定此 String 实例是否与指定的对象(也必须是 String)具有相同的值. Strin ...
- .Net Mvc3框架调用服务端控件解决方案
/*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...