jquery封装的选项卡
ul,li,div{ margin:; padding:;}
ul,li{ list-style:none;}
.tab_wrap{ width:450px; margin: auto 50px; overflow:hidden;}
.tab_t{ background:#F93; overflow:hidden; width:450px;}
.tab_t li{ float:left; width:150px; color:#fff; text-align:center; cursor:pointer; height:22px; line-height:22px;}
.tab_t li.cur{background:#F60;}
.tab_c div{ padding:20px; border:1px solid #ddd; border-top: none; }
.tab_c .hidden{ display:none;}
<div class="tab tab_wrap" id="tab">
<div class="tab_t" id="tab_t">
<ul>
<li class="cur"><a href="#">选项一</a></li>
<li><a href="#">选项二</a></li>
<li><a href="#">选项三</a></li>
</ul>
</div>
<div class="tab_c">
<div class="hidden" style="display:block;">内容1</div>
<div class="hidden" > 内容2</div>
<div class="hidden" > 内容3</div>
</div>
</div>
//jquery普通选项卡
var tabTag = $("#tab_t");
var tabon = $("#tab_t").find('li');
var tabCon = $(".hidden"); tabon.each(function(i){
$(this).hover(function(){
tabon.removeClass("cur");
$(this).addClass('cur');
tabCon.eq(i).show().siblings().hide();
})
})
//jquery封装的选项卡
function Tab(option){
this.opts = $(option.opts);
this.tabTag = this.opts.find('#tab_t li');
this.hidden = this.opts.find('.hidden');
this.init();
}
Tab.prototype = {
init:function(){
var that = this;
this.tabTag.each(function(i){
$(this).hover(function(){
that.tabTag.removeClass('cur');
$(this).addClass('cur');
that.hidden.eq(i).show().siblings().hide();
})
})
}
} $(function(){
new Tab({'opts':$('#tab')});
})
在javascript中,this代表的是当前对象。
var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢?
$('#tab").click(function(){
//this是被点击的#tab
var that = this;
$('.tab').each(function(){
//this是.tab循环中当前的对象
//that仍然是刚才被点击的#tab
});
});
可以看到,this对象在程序中随时会改变,而var that=this之后,that没改变之前仍然是指向当时的this,这样就不会出现找不到原来的对象。
jquery封装的选项卡的更多相关文章
- jQuery封装的选项卡方法
********************************************************2018/3/15更新********************************* ...
- ajx技术解析以及模拟jQuery封装
1.后台处理程序 <%@ page language="java" contentType="text/html; charset=UTF-8" page ...
- jquery封装常用方法
var git = { //true表示格式正确 checkEmail: function (str) { -]{,})(\S*)/g) == null) { return false; } else ...
- 基于jQuery打造的选项卡向上弹出jquery焦点图切换特效
基于jQuery打造的选项卡向上弹出jquery焦点图切换特效 鼠标经过标题栏,会出现层特效向上滑动,并且在同时进行幻灯片切换,效果十分不错. 有兴趣的童鞋可以下载看看,在IE6方面兼容性也不错,只有 ...
- 基于jquery左侧带选项卡切换的焦点图
今天给大家分享一款基于jquery左侧带选项卡切换的焦点图.这款焦点图左侧有短标题,单击切换并显示长标题.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class ...
- 不借助jquery封装好的ajax,你能用js手写ajax框架吗
不借助jquery封装好的ajax,你能手写ajax框架吗?最基础的ajax框架,一起来围观吧. .创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); ...
- 自己使用Jquery封装各种功能分享
自己使用Jquery封装各种功能分享: 左右滚动图片 瀑布流 流动显示列表 广告切换 头像切换And广告切换 获取搜索引擎的来源关键字 上面列表中展示的功能都是使用jquery进行封装实现的,希望大家 ...
- 基于jQuery封装的分页组件
前言: 由于项目需要实现分页效果,上jQuery插件库找了下,但是木有找到自己想要的效果,于是自己封装了个分页组件. 思路: 主要是初始化时基于原型建立的分页模板然后绑定动态事件并实现刷新DOM的分页 ...
- Jquery封装(学习)01
1.在开发过程中,我们有时候会经常用到重复的jquey代码,最常见的是我们那里需要就再哪里复制粘贴,这样大大增加了冗余代码,维护起来也不方便.我们何不把共同的jquery代码封装起来,哪里需要就哪里调 ...
随机推荐
- 生产者消费者问题c语言实现
#include <stdio.h> #include <process.h> #include <Windows.h> //信号量与关键段 CRITICAL_SE ...
- 九度OJ 1499 项目安排 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1499 题目描述: 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时 ...
- svn 提交 commit慢
又修改了一下,上一个方法有问题 #!/bin/bash ###ubuntu下注意要用bash哦,不然for循环总提示'bad loop....' export LC_CTYPE=en_US.UT ...
- 栈(顺序存储)C++模板实现
#include <iostream> using namespace std; template <typename T> class stack{ private: int ...
- phantomjs 自动化测试
最近网站的质量检查越来越严格,原来开发过程中很多隐蔽的问题,逐渐暴露出来,为提高前端的工作效率,就想到是不是可以在开发过程中能自动的对页面的中一些规范化的东西进行自动监测,这个就可以省去不少麻烦. 整 ...
- Asp.net 导入Excel数据
前台代码: <body> <form id="form1" runat="server"> <div> <asp:Fi ...
- SQL学习_时间函数
最近测试报表需要统计不同时间段的列表记录,收集一些时间函数作为参考,原文地址:http://blog.csdn.net/lyzlyfok/article/details/6282509 sql ser ...
- 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法
Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负. Dijkstra算法是贪婪算法的一个很好的例子.设置一顶点集合S,从源点s到集合中的顶点的最终最短路径 ...
- codeforces 615D - Multipliers
Multipliers 题意:给定一个2e5范围内的整数m,之后输入m个2e5内的素数(当然可以重复了),问把这些输入的素数全部乘起来所得的数的约数的乘积mod(1e9+7)等于多少? 思路:对题目样 ...
- CLLocationManager 位置定位
第一步,新建一个singleView的空白工程,如果新建,这里不做赘述了. 第二步:因为地图开发相关的framework:MapKit.framework.CoreLocation.framework ...