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实战总结三 标签页效果图实现
在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...
随机推荐
- C++ 中 char 与 int 转换问题
itoa 功 能:把一整数转换为字符串 函 数:char *itoa(int value, char *string, int radix); 解 释:itoa 是英文integer to ar ...
- 【tomcat 无法部署】svn上下载的maven项目无法部署到tomcat中
问题: svn上下载的maven项目无法部署到tomcat中,tomcat不识别项目,但是这个项目确实是web项目 发现的过程: 然后依次产看项目的编译版本: 项目的依赖架包: 才发现: 解决方法: ...
- JSON.parse()和JSON.stringify()使用
JSON.parse()用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age&qu ...
- python中的变量和数据类型
一.变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字. 二.变量命名规则: 1. 变量名由字母.数字.下划线组成 2. 数字不能开头 3. 不可 ...
- SU unisam命令学习
- Console.log,Window.alert,Document.write三者区别
1.Console.log不会阻断程序继续进行,在控制台可以看到测试结果. 2.Window.alert弹出框会阻断程序运行,在弹出框可以看到测试结果. 3.Document.write不会阻断程序继 ...
- wpf 背景镂空loading.....
第一步,,使用arc控件 ArcThickness="15" StartAngle="-6" EndAngle="6" 2,拉一个Ellip ...
- Trie UVA 11732 "strcmp()" Anyone?
题目传送门 题意:询问所有字符串的比较次数和(注意for循环内的比较也算) 分析:将所有字符串插入到字典树上,然后结点信息记录有几个字符串,那么每走到一个结点就能知道比较到此时需要的次数.学习到链表存 ...
- 贪心 Codeforces Round #289 (Div. 2, ACM ICPC Rules) B. Painting Pebbles
题目传送门 /* 题意:有 n 个piles,第 i 个 piles有 ai 个pebbles,用 k 种颜色去填充所有存在的pebbles, 使得任意两个piles,用颜色c填充的pebbles数量 ...
- MFC MessageBox AfxMessageBox
MessageBox 一.消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.1.MessageBox("这是一个最简单的消息框!");2.M ...