BootStrap 页签切换失效的解决方法


Posted in Javascript onAugust 17, 2017

概述

bootstrap开发标签页时,标签页显示正常,但点击时候对应内容区域没有变化。

具体症状与解决方案

1.标签页UI出现,但点击无反应,标签页UI并未随点击进行切换

先检查bootstrap.css,jQuery.js和bootstrap.js是否有正确引入,并保证引入顺序jQuery在前,bootstrap.js在后。再检查代码中是否有其他报错中止了JS。

2.标签页可以随点击进行切换,但点击后前面几条内容可以切换,但后面几条内容切换失败

产生原因:

内容区域的html结构出现错误,在单个tab中多写了一个div的结束标签,使得tab-content这一div过早的关闭,剩下的tab-pan则与原来的tab-content变成了平级的关系而不是父子关系。仔细观察,点击之后原来应该出现在tab-content区域的内容会出现在页面的下方是主要的特征。

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title>bootstrap页签切换失效</title>
 <link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
 <!-- 先引入jQuery,再引入bootstrap.js-->
 <script src="//cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
 <script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 <style>
  .content{
   width: 60%;
   margin: auto;
  }
 </style>
</head>
<body>
 <div class="content">
  <ul class="nav nav-tabs" id='consume_tab'>
   <li><a href="#tab0" rel="external nofollow" data-toggle="tab">页签0</a></li>
   <li ><a href="#tab1" rel="external nofollow" data-toggle="tab">页签1</a></li>
   <li ><a href="#tab2" rel="external nofollow" data-toggle="tab">页签2</a></li>
   <li ><a href="#tab3" rel="external nofollow" data-toggle="tab">页签3</a></li>
   <li ><a href="#tab4" rel="external nofollow" data-toggle="tab">页签4</a></li>
  </ul>
 <div class="tab-content">
  <div class="tab-pane active " id="tab0">
   <div>
    <span>页签0内容</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab1">
   <div>
    <span>页签1内容</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab2">
   <div>
    <span>页签2内容,多了一个结束标签</span>
   <!-- 页签2内容多了一个结束标签-->
   </div>
   </div>
  </div>
  <div class="tab-pane fade " id="tab3">
   <div>
    <span>页签3内容,出现在页签2下方</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab4">
   <div>
    <span>页签4内容,出现在页签2下方</span>
   </div>
  </div>
 </div>
</div>
</body>
</html>

BootStrap 页签切换失效的解决方法

审查元素时看到tab-pan与tab-content在同级中出现是最明显的特征。这时候只需要查看最后一个能生效点击的页签中的代码(示例中为tab2),将多余的div结束标签去掉即可。

总结

这种错误易除了刚接触bootstrap的开发者容易遇见之外,使用模板引擎配合bootstrap进行开发的过程中,页面结构嵌套关系比较复杂的时候也容易产生这类错误,但清楚错误产生原理还有分析方法之后,解决起来并不困难。

Javascript 相关文章推荐
js实现的标题栏新消息闪烁提示效果
Jun 06 Javascript
JavaScript操作Oracle数据库示例
Mar 06 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 Javascript
使用jQuery制作基础的Web图片轮播效果
Apr 22 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
理解Koa2中的async&amp;await的用法
Feb 05 Javascript
使用Vuex解决Vue中的身份验证问题
Sep 28 Javascript
纯javascript实现选择框的全选与反选功能
Apr 08 Javascript
微信小程序全局变量改变监听的实现方法
Jul 15 Javascript
解决ant Design Search无法输入内容的问题
Oct 29 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 #Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 #Javascript
微信小程序滚动Tab实现左右可滑动切换
Aug 17 #Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 #Javascript
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 #jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 #jQuery
vue中appear的用法
Aug 17 #Javascript
You might like
PHP中的extract的作用分析
2008/04/09 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
JQuery小知识
2010/10/15 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
Python Selenium截图功能实现代码
2020/04/26 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
机械专业应届生求职信
2013/12/12 职场文书
校园公益广告语
2014/03/13 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
聚会通知怎么写
2015/04/23 职场文书
表扬信范文
2015/05/04 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL