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 ...
随机推荐
- Find- Linux必学的60个命令
1.作用 find命令的作用是在目录中搜索文件,它的使用权限是所有用户. 2.格式 find [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下 ...
- 政务私有云盘系统建设的工具 – Mobox私有云盘
序言 这几年,智慧政务已经成为了政府行业IT建设发展的重要进程.传统办公方式信息传递速度慢.共享程度低.查询利用难,早已成为政府机关获取和利用信息的严重制约因素.建立文档分享共用机制,加强数据整合,避 ...
- 在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo
更新Ubuntu服务器软件源 运行以下代码: sudo apt-get update #更新软件源 sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系 sudo s ...
- 廖雪峰Java10加密与安全-6数字证书-1数字证书
数字证书: 非对称加密算法:对数据进行加密/解密 签名算法:确保数据完整性和抗否认性 摘要算法:确保证书本身没有被篡改
- Java实现对日期上旬中旬下旬格式化
PS:我数据库表定义的日期是String类型,要求对读取的日期进行格式化为xx年xx月上\中\下旬 测试代码如下 package day1; import java.text.ParseExcepti ...
- ubuntu触摸板失效问题
很早便遇到这个问题,今天忍无可忍才度娘了一发.亲测有效! 用Ubuntu Tweak备份过桌面的配置,因此我尝试恢复桌面设置,果然奇迹发生了,触摸板立刻恢复了正常使用! 没有备份过的相信使用其中的重置 ...
- jeecms 配置可以低级别用户流程
使用管理员admin登录后台,进入用户—>管理员(本站)à添加,填写用户名.密码等信息,如下图: 需要注意几个权限控制的问题: 1, 等级,值越大等级越高,等级高的管理员可以审核等级低的管理员 ...
- PAT甲级——A1065 A+B and C (64bit)
Given three integers A, B and C in [−], you are supposed to tell whether A+B>C. Input Specificati ...
- 【MFC 】关于对话框中的OnVScroll() 和 OnHScroll
原文地址:[MFC 中]关于对话框中的OnVScroll() 和 OnHScroll()函数作者:Winters 对话框中的滑块,微调控件都会向OnVScroll() 和OnHScroll() ...
- Python Flask高级编程之从0到1开发《鱼书》精品项目
Python Flask高级编程之从0到1开发<鱼书>精品项目 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感 ...