jq方法写选项卡的基本原理以及三种方法
使用jq写选项卡,告别了繁琐的循环以及命名规范
基本原理:
1.当某一个btn被选中时,将这个btn的背景颜色设为橘色,其余兄弟btn背景颜色设为空(none)
2.如果子div与btn的索引相同,就将这个div显示而其他兄弟div隐藏
1).css函数参数2的回调函数方法;
2).原生get方法再转jq对象 再进行设置的方法
3).当前div使用show()方法,其余兄弟div使用hide()方法
关键字:get() siblings() show() hide() css()
html页:
4个btn,4个div
<div id="wrap">
<button>btn1</button>
<button>btn2</button>
<button>btn3</button>
<button>btn4</button>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
css页:
大盒子当前无样式,在实际开发中需要指定其宽高;第一个btn背景色为橘黄色;第一个子项div显示,其余兄弟div隐藏
#wrap div {
width: 300px;
height: 200px;
border: 1px solid red;
display: none;
} #wrap div:nth-of-type(1) {
display: block;
/* 第一个子项div显示 */
} #wrap button:nth-of-type(1) {
background: orange;
/* 第一个btn背景色为橘黄色; */
}
jquery页:
1)首先给btn绑定事件
$("#wrap button").click(function() {
//当btn被点击后发生的事件
})
关键字: click();
2) 当btn被点击时,设置当前选中btn颜色为橘色,并且将其他兄弟btn背景色为空:
$(this).css("background", "orange").siblings("button").css("background", "none")
关键字: $(this); css(); siblings()
3) 声明一个变量,这个变量保存了被选中的btn的下标
var $index = $(this).index();
关键字:$index; $(this);index();
// 1:找到所有的子div,并且设置css样式,如果某个div的索引与btn的索引相同,就让他显示
$("#wrap div").css("display", function(i) {
if (i == $index) {
return "block";
}
return "none";
})
关键字:css() ; "display" ; i == $index;
b:通过get()方法将子div的索引与当前btn的索引绑定,然后再将这个索引转变成jq对象,再使用jq方法将对应div显示
$($("#wrap div").get($(this).index())).css("display", "block").siblings("div").css("display", "none")
由于get方法是js原生方法,所以应将其转成jq对象才能使用jq方法
关键字: $() ; $(this).index; get();css();siblings()
c:通过当前btn的索引绑定div的索引,进而将这个索引对应的div显示show(),并将其余的div兄弟元素隐藏hide()
$("#wrap div").eq($(this).index()).show().siblings("div").hide();
关键字:eq();$(this).index();show();hide()
这样,就完成了使用jQuery方法实现选项卡。
以上。
jq方法写选项卡的基本原理以及三种方法的更多相关文章
- Linux中让终端输入变为非阻塞的三种方法
介绍 在linux下每打开一个终端,系统自动的就打开了三个文件,它们的文件描述符分别为0,1,2,功能分别是"标准输入"."标准输出"和"标准错误输出 ...
- (六)C#中判断空字符串的三种方法性能分析
三种方法分别是: string a=""; 1.if(a=="") 2.if(a==string.Empty) 3.if(a.Length==0) 三种方法是等 ...
- (转)JAVA 调用Web Service的三种方法
1.使用HttpClient用到的jar文件:commons-httpclient-3.1.jar方法:预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成. ...
- Java反射定义、获取Class三种方法
反射机制的定义: 在运行状态时(动态的),对于任意一个类,都能够得到这个类的所有属性和方法. 对于任意一个对象,都能够调用它的任意属性和方法. Class类是反射机制的起源,我们得到Class类对象 ...
- python下载文件的三种方法
Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种方法 ...
- mysql 中添加索引的三种方法
原文:http://www.andyqian.com/2016/04/06/database/mysqleindex/ 在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以 ...
- php将数组写入到文件的三种方法
php将数组原样写入或保存到文件有三种方法可以实现, 第一种方法是使用serialize, 第二种方法是使用print_r, 第三种方法是使用var_export, 本文章向大家介绍这三种方法是如何将 ...
- Python使用三种方法实现PCA算法[转]
主成分分析(PCA) vs 多元判别式分析(MDA) PCA和MDA都是线性变换的方法,二者关系密切.在PCA中,我们寻找数据集中最大化方差的成分,在MDA中,我们对类间最大散布的方向更感兴趣. 一句 ...
- 应对加密js的三种方法
经常遇到网页在登录后会对用户输入的帐号和密码通过js进行加密,导致模拟登录这类网站时受到阻碍 这里小记一下当前解决该问题的三种方法 1.利用python实现js同等加密. 2.利用selenium模拟 ...
随机推荐
- codeforces 828 D. High Load(思维,水题)
题目链接:http://codeforces.com/contest/828/problem/D 题解:任意去一个点为根然后有几个k就是几个子叶也就是根结点有几个分支然后最好的解法就是贪心,将剩下的点 ...
- poj 1182 食物链(种类并查集 ‘初心者’)
题目链接:http://poj.org/problem?id=1182 借着这题可以好好理解一下种类并查集,这题比较简单但挺经典的. 题意就不解释了,中问题. 关于种类并查集结局方法也是挺多的 1扩增 ...
- 题解 CF499A 【Watching a movie】
题意 看一部电影,从第一分钟开始看,你每次可以按下快进键,快进x分钟,电影有n个精彩片段,问看到所有精彩片段至少需要看多少分钟电影.(数据保证能看到所有精彩片段) 我们可以发现答案其实 就是间隔时间% ...
- JAVA - 一个for循环实现99乘法表
public class Test03 {public static void main(String[] args) { int lie = 1; for (int hang = 1; hang&l ...
- SSL证书部署相关知识总结
证书生成工具,手动:Keymanager工具https://keymanager.org/ 证书服务商集成:可自由获得TrustAsia.Let’s Encrypt颁发的 免费证书. Keymanag ...
- Invalid bound statement(not found):cn.e3mall.mapper.TbItemMapper.selectByExample.....
1.出现如下问题: 说明mapper接口和mapper.xml映射文件没有在一个文件夹下面 2.解决方法: 在dao层的pom.xml中配置一下: <!-- 如果不添加此节点mybatis的ma ...
- Fortify安全漏洞一般处理方法
前段时间公司又一轮安全审查,要求对各项目进行安全扫描,排查漏洞并修复,手上有几个历史项目,要求在限定的时间内全部修复并提交安全报告,也不清楚之前是如何做的漏洞修复,这次使用工具扫描出来平均每个项目都还 ...
- SpringBoot自定义过滤器的两种方式及过滤器执行顺序
第一种 @WebFilter + @ServletComponentScan 注解 1.首先自定义过滤器 如下自定义过滤器 ReqResFilter 必须实现 javax.servlet.Filte ...
- Redis删除集群以及重新启动集群
有时候我们搭建完集群以后,对集群进行了一些错误的操作,导致集群出现了不可预料的问题,这时候想要删除集群重新启动一个原始的集群,那么如何删除原来旧的集群呢? 1.关闭所有开启的Redis节点 kill ...
- 安装完oracle11g_2x64位数据库后使用PL Developer链接oracle报错“请确认是否安装了32位oracle和TNS错误”解决方案
解决使用PL Developer登录oracle报错没有配置TNS错误.首先安装好oracle11g数据库,安装PL developer32位 1,下载“instantclient-basic-win ...