<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
<style>
/*tab切换的css*/
#wrap {width:100%; margin:0 auto; overflow: hidden;}
#tit {height: 35px;width:100%;}
#tit span {float: left; height: 30px; line-height: 30px; width: 25%; font-size: 20px; text-align: center; color: #333;cursor: pointer}
#con div{display: none; height: auto; width: 100%; background: pink;font-size: 100px;line-height: 200px;}
#tit span.select {border-bottom: 3px solid #009933; color: #009933;}
#con div.show {display: block;width: 100%}
</style>
<style>
/*问题和答案所需要的css*/
*{margin: 0;padding: 0}
body{font-size: 12px;font-family: "微软雅黑";}
ul{width: 100%}
ul,li{list-style: none;}
a:link,a:visited{text-decoration: none;color: #fff;}
.list{width: 100%;border-bottom:solid 1px #316a91;margin:0 auto;}
.list ul li{background-color:#467ca2; border:solid 1px #316a91; border-bottom:0;}
.list ul li a{padding-left: 10px;color: #fff; font-size:12px; display: block; font-weight:bold; height:36px;line-height: 36px;position: relative;
}
.list ul li .inactive{ background:url(http://images.cnblogs.com/cnblogs_com/heyiming/947284/t_help.png) no-repeat right;}
.list ul li .inactive{ background-size:16px 27px;}
.list ul li .inactives{background:url(http://images.cnblogs.com/cnblogs_com/heyiming/947284/t_helpbot.png) no-repeat right;}
.list ul li .inactives{background-size: 27px 16px;}
.list ul li ul{display: none;}
.list ul li ul li { border-left:0; border-right:0; background-color:#6196bb; border-color:#467ca2;}
.list ul li ul li ul{display: none;}
.list ul li ul li a{ padding-left:20px;}
.list ul li ul li ul li { background-color:#d6e6f1; border-color:#6196bb; }
.last{ background-color:#d6e6f1; border-color:#6196bb; }
.list ul li ul li ul li a{ color:#316a91; padding-left:30px;}
</style>
</head>
<body>
<div id="wrap">
<div id="tit">
<span class="select">TAB1</span>
<span>TAB2</span>
<span>TAB3</span>
<span>TAB4</span>
</div>
<ul id="con">
<div class="show div1"><!--装问题和答案的盒子-->
<!--第一块的问题和答案开始-->
<div class="list" style="display: block">
<ul class="yiji">
<li><a href="javascript:void(0)" class="inactive">TAB1-问题1</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB1-答案1</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" class="inactive">TAB1-问题2</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB1-答案2</a></li>
</ul>
</li>
</ul>
</div>
<!--第一块的问题和答案结束-->
</div>
<div class="div1">
<!--第二块的问题和答案开始-->
<div class="list" style="display: block">
<ul class="yiji">
<li><a href="javascript:void(0)" class="inactive">TAB2-问题1</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB2-答案1</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" class="inactive">TAB2-问题2</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB2-答案2</a></li>
</ul>
</li>
</ul>
</div>
<!--第二块的问题和答案结束-->
</div>
<div class="div1">
<!--第三块的问题和答案开始-->
<div class="list" style="display: block">
<ul class="yiji">
<li><a href="javascript:void(0)" class="inactive">TAB3-问题1</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB3-答案1</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" class="inactive">TAB3-问题2</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB3-答案2</a></li>
</ul>
</li>
</ul>
</div>
<!--第三块的问题和答案结束-->
</div>
<div class="div1">
<!--第四块的问题和答案开始-->
<div class="list" style="display: block">
<ul class="yiji">
<li><a href="javascript:void(0)" class="inactive">TAB4-问题1</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB4-答案1</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" class="inactive">TAB4-问题2</a>
<ul style="display: none">
<li class="last"><a href="javascript:void(0)">TAB4-答案2</a></li>
</ul>
</li>
</ul>
</div>
<!--第四块的问题和答案结束--> </div>
</ul>
</div>
</body>
</html>
<script type="text/javascript" src="http://files.cnblogs.com/files/heyiming/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
/*tab切换所需要的js*/
$(document).ready(function() {
$('.inactive').click(function(){
if($(this).siblings('ul').css('display')=='none'){
$(this).parent('li').siblings('li').removeClass('inactives');
$(this).addClass('inactives');
$(this).siblings('ul').slideDown(100).children('li');
if($(this).parents('li').siblings('li').children('ul').css('display')=='block'){
$(this).parents('li').siblings('li').children('ul').parent('li').children('a').removeClass('inactives');
$(this).parents('li').siblings('li').children('ul').slideUp(100); }
}else{
//控制自身变成+号
$(this).removeClass('inactives');
//控制自身菜单下子菜单隐藏
$(this).siblings('ul').slideUp(100);
/*
//控制自身子菜单变成+号
$(this).siblings('ul').children('li').children('ul').parent('li').children('a').addClass('inactives');
*/
//控制自身菜单下子菜单隐藏
$(this).siblings('ul').children('li').children('ul').slideUp(100); //控制同级菜单只保持一个是展开的(-号显示)
$(this).siblings('ul').children('li').children('a').removeClass('inactives');
}
})
});
</script>
<script>
/*问题-答案的js*/
$('#tit span').click(function() {
var i = $(this).index();//下标第一种写法
//var i = $('tit').index(this);//下标第二种写法
$(this).addClass('select').siblings().removeClass('select');
$('#con .div1').eq(i).show().siblings().hide();
});
</script>

效果图:

TAB切换与内容伸展闭合的结合的更多相关文章

  1. vue仿淘宝订单状态的tab切换效果

    <div class="navigation">  //这里是通过循环遍历出来的数据,你需要根据index的值来判断你现在点击的是第几个tab栏导航,同时在js中写一个 ...

  2. 关于scrollintoview()真的是有意思极了,结合普通tab切换一起看看

    scrollIntoView(alignWithTop) 是html5新特性中的一个元素,他主要是指滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素. alignWithTop是true ...

  3. 封装tab切换事件

    HTML <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  4. 纯CSS完成tab实现5种不同切换对应内容效果

    很常用的一款特效纯CSS完成tab实现5种不同切换对应内容效果 实例预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  5. bootstrap tab切换如何让鼠标移动自动切换内容

    bootstrap集成了很多功能,比如nav-tabs组件,可以将相似的内容集中在一个区块中展示.bootstrap tab切换默认是要点击才会切换的,如何实现鼠标移动就自动切换呢?如下图所示,光标移 ...

  6. 谷歌内核浏览器 iframe内容的 tab切换 滚动条消失

    问题: 新版本的-webkit- 内核浏览器 在tab切换时,iframe 内容区 丢失滚动条 如下图 (虽然滚动条位置还在,可以垂直滚动,但滚动条不见了) 解决思路: 让iframe重新计算宽高,重 ...

  7. Python3从零开始爬取今日头条的新闻【四、模拟点击切换tab标签获取内容】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

  8. vue + element-ui 制作tab切换(适用于单页切换不同标记显示不同内容)

    本篇文章使用vue结合element开发tab切换单页不同的标记显示不同的内容. 1.安装element-ui npm install element-ui --save 2.在main.js中引入e ...

  9. VUE实现Studio管理后台(二):Slot实现选项卡tab切换效果,可自由填装内容

    作为RXEditor的主界面,Studio UI要使用大量的选项卡TAB切换,我梦想的TAB切换是可以自由填充内容的.可惜自己不会实现,只好在网上搜索一下,就跟现在你做的一样,看看有没有好事者实现了类 ...

随机推荐

  1. java:集合输出Iterator,ListIterator,foreach,Enumeration

    //集合输出,集合的四种输出 Iterator, ListIterator, foreach, Enumeration 只要碰到集合,第一输出选择是Iterator类. Iterator<E&g ...

  2. hdu 3572 : Task Schedule (网络流)

    题目链接 题意: 有M个机器,N个任务 对第i个任务,需要在[Si,Ei]这段时间内恰有Pi天被process 每天最多有M个机器同时工作 每一天,一个任务若被process,那么它恰占用一个机器. ...

  3. 【leetcode】313. Super Ugly Number

    题目如下: 解题思路:总结一下这么几点,一出一进,优先级队列排序,保证每次输出的都是当前的最小值.解法大致如图: 代码如下: #include<map> #include<queue ...

  4. Spring Boot文件上传

    一.创建一个简单的包含WEB依赖的SpringBoot项目 二.配置文件上传的文件大小限制 # 上传文件总的最大值spring.servlet.multipart.max-request-size=1 ...

  5. vue.js动态表格增删改代码

    新建一个html文件,内容如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"& ...

  6. Laya 爆改Laya IDE和Laya引擎使其支持2D粒子爆发模式

    Laya 爆改Laya IDE和Laya引擎使其支持2D粒子爆发模式 @author ixenos 2019-11-01 19:47:26 1. 修改IDE的功能需要深入到/resources/app ...

  7. package.json保存

    # 确保已经进入项目目录 # 确定已经有 package.json,没有就通过 npm init # 创建,直接一路回车就好,后面再来详细说里面的内容. # 安装 webpack 依赖 npm ins ...

  8. vue中移动端自适应方案

    安装 lib-flexible 1.npm i lib-flexible 2.在项目入口文件 main.js 里 引入 lib-flexible import ‘lib-flexible’ 3.添加m ...

  9. an ordered dict within the ordered dict

    w http://stackoverflow.com/questions/20166749/how-to-convert-an-ordereddict-into-a-regular-dict-in-p ...

  10. 三十一、python中urllib和requests包详解

    A.urllibimport urllibimport urllib.requestimport json '''1.loads,dumpsjson.loads():将字符串转化成python的基础数 ...