js的动态tab导航
html部分
- <div class="container">
- <h3 class="page-header">tab切换</h3>
- <div class="row-fluid">
- <div class="col-md-2" style="padding-left: 0px;">
- <!-- 左边导航 -->
- <div class="well menuSideBar" style="padding: 8px 0px;">
- <ul class="nav nav-list" id="menuSideBar">
- <li class="nav-header">导航菜单</li>
- <li class="nav-divider"></li>
- <li><a>页面1</a></li>
- <li><a>页面2</a></li>
- <li><a>页面3</a></li>
- </ul>
- </div>
- </div>
- <div class="col-md-10" style="padding : 0px;">
- <!-- 横导航 -->
- <ul class="nav nav-tabs" id="nav-tabs">
- <li class="active"><a>首页</a><button style="display: none;"></button></li>
- </ul>
- <!-- 内容 -->
- <div class="tab-content" id="tab-content">
- <div class="active">
- 欢迎
- </div>
- </div>
- </div>
- </div>
- </div>
css部分
- <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
- <style type="text/css">
- .tab-content div{
- display: none;
- }
- .nav button{
- position: relative;
- left:-35px;
- top: 10px;
- border: none;
- background: #fff;
- }
- .nav a{
- float: left;
- }
- .nav-list li{
- clear: both;
- }
- .nav>li>a{
- padding: 10px 40px;
- }
- </style>
js部分
- var menuSideBarli=$('#menuSideBar a');
- var navtabs=$('#nav-tabs');
- var tabcontent=$('#tab-content');
- //左边导航
- menuSideBarli.click(function(){
- var navtabsa=$('#nav-tabs a');
- var contentdiv=$('#tab-content div');
- var aa='';//判断是否有这个导航
- for(var i=0;i<navtabsa.length;i++){
- if(navtabsa[i].innerHTML==this.innerHTML){
- aa=i;
- }
- }
- var htmla='<li class="active"><a>'+this.innerHTML+'</a><button value='+(navtabsa.length)+'>x</button></li>';
- var htmlb='<div class="active">'+this.innerHTML+'</div>';
- if(!aa){
- for(var j=0;j<navtabsa.length;j++){
- navtabsa[j].parentNode.className="";
- contentdiv[j].className='';
- }
- navtabs.append(htmla);
- tabcontent.append(htmlb);
- }else{
- for(var j=0;j<navtabsa.length;j++){
- navtabsa[j].parentNode.className="";
- contentdiv[j].className='';
- }
- navtabsa[aa].parentNode.className="active";
- contentdiv[aa].className='active';
- }
- })
- //删除导航
- $(document).on('click', 'button', function() { //jq绑定事件
- var contentdiv=$('#tab-content div');
- var shanchua=$('button');
- var index='';//判断点的是哪个
- for(var i=0;i<shanchua.length;i++){
- contentdiv[i].className='';
- shanchua[i].parentNode.className="";
- if(shanchua[i]==this){
- console.log(i);
- index=i;
- }
- }
- contentdiv[index].parentNode.removeChild(contentdiv[index]);
- this.parentNode.parentNode.removeChild( this.parentNode);
- if(contentdiv.length>2&&index==1){
- contentdiv[index+1].className='active';
- shanchua[index+1].parentNode.className="active";
- }else{
- contentdiv[index-1].className='active';
- shanchua[index-1].parentNode.className="active";
- }
- })
- //横导航切换
- $(document).on('click', '#nav-tabs a', function(){
- var nava=$('#nav-tabs a');
- var contentdiv=$('#tab-content div');
- var shanchua=$('button');
- for(var i=0;i<nava.length;i++){
- if(nava[i]==this){
- console.log(i)
- for(var j=0;j<nava.length;j++){
- contentdiv[j].className='';
- shanchua[j].parentNode.className="";
- }
- contentdiv[i].className='active';
- shanchua[i].parentNode.className="active";
- }
- }
- })
效果如下
js的动态tab导航的更多相关文章
- (vue.js)Vue element tab 每个tab用一个路由来管理?
(vue.js)Vue element tab 每个tab用一个路由来管理? 来源:网络整理 时间:2017/5/13 0:24:01 关键词: 关于网友提出的“ (vue.js) ...
- 基于sticky组件,实现带sticky效果的tab导航和滚动导航
上文提供了一个改进版的sticky组件,并将演示效果应用到了自己的博客.有了类似sticky的这种简单组件,我们就可以在利用它开发更丰富的效果,比如本文要介绍的tab导航和滚动导航.实现简单,演示效果 ...
- 7、网页制作Dreamweaver(悬浮动态分层导航)
悬浮动态分层导航的制作: 1.首先在<head>里面引用一个JQUERY的文件以用来制作鼠标点击动画效果(从网站上下载即可) <script language="javas ...
- jQuery ui背景色动态渐变导航菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用ActionBar实现Tab导航
ActionBar还有常用的功能,实现Tab导航.ActionBar在顶端生成多个Tab标签,当用户单击点击某个Tab标签时,系统根据用户点击事件导航指定Tab页面. 为了使用ActionBar实现T ...
- JS滑动下划线导航菜单实现原理
效果如下:http://campus.51job.com/test/zengxl/js html: <div class="mainnav"> <div clas ...
- 微信小程序开发之tab导航栏
实现功能: 点击不同的tab导航,筛选数据 UI: js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"], //count ...
- JS实现动态瀑布流及放大切换图片效果(js案例)
整理了一下当时学js写的一些案例,再次体验了一把用原生JS实现动态瀑布流效果的乐趣,现在把它整理出来,需要的小伙伴可以参考一下. 该案例主要是用HTML+CSS控制样式,通过JS实现全局瀑布流以及点击 ...
- js如何动态创建表格(两种方法)
js如何动态创建表格(两种方法) 一.总结 一句话总结: 1.方法一:写好创建表格的html代码,将之赋值给div的innerHTML. 2.方法二.直接用创建好的table元素的方法insertRo ...
随机推荐
- zimage 和bzimage 有什么区别
在网络中,不少服务器采用的是Linux系统.为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核.编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的 ...
- Android 开发 防止按键连续点击
前言 按键防止连续点击是任何一个项目都要考虑的功能.下面我们将介绍几种防止按键连续点击的方法 用工具类实现 /** *@content:按键延时工具类,用于防止按键连点 *@time:2019-5-1 ...
- js实现事件委托
事件委托的概念: 事件委托就是利用事件冒泡,把事件加到父元素或祖先元素上,触发执行效果. 事件委托的写法: btn6.onclick = function(event){ event = event ...
- Java基础——List集合整理(脑图,源码,面试题)
常在知乎牛客网关注Java的一些面试,了解过校招社招常面哪些内容.Java集合不仅使用频率高而且在初面中也常常被问到,何止是常常,关于ArrayList的扩容,HashMap的一些底层等等都被问到烂了 ...
- 匿名/局部内部类访问局部变量时,为什么局部变量必须加final
我们都知道方法中的匿名/局部内部类是能够访问同一个方法中的局部变量的,但是为什么局部变量要加上一个final呢? 首先我们来研究一下变量生命周期的问题,局部变量的生命周期是当该方法被调用时在栈中被创建 ...
- oracle创建新的连接(表空间?数据库?)
一.创建用户名密码 create user username identified by password --username 是用户名:password 是密码 二.给用户附权.撤权 gra ...
- Hibernate-概述-搭建-测试-配置详解
一 hibernate概述 1.1 框架是什么 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架可以理解成是一个半成品的项目.只 ...
- webservice作用(优,缺点;作用)
1其实我们平时的应用,有一方面考虑是部署方便,维护容易~!如果是DLL,部署,更新需要每个应用了这个DLL的应用程序都作相应的引用更新...而如果用了Ws,则不用,因为它通过网络部署,通过网络引用,基 ...
- HBase的一些关于CRUD方法
配置内容 static{configuration = HBaseConfiguration.create(); //创建配置文件(也就是load工程包目录下的配置文件hbase-site.xml) ...
- Linux时间设置命令
1.date: 语法格式:date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=dates ...