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 相关文章推荐
JavaScript 创建对象和构造类实现代码
Jul 30 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
Dec 31 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
js导出Excel表格超出26位英文字符的解决方法ES6
Nov 15 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
Vue动态面包屑功能的实现方法
Jul 01 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php三元运算符知识汇总
2015/07/02 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
jQuery插件开发基础简单介绍
2013/01/07 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python中创建二维数组
2018/10/17 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python如何统计代码运行的时长
2019/07/24 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
简述数据库的设计过程
2015/06/22 面试题
机电一体化自荐信
2013/12/10 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
保护环境建议书400字
2014/05/13 职场文书
大学生毕业求职信
2014/06/12 职场文书
校园标语大全
2014/06/19 职场文书
5s标语大全
2014/06/23 职场文书
英文自荐信范文
2015/03/25 职场文书
罚款通知怎么写
2015/04/22 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
mysql 子查询的使用
2022/04/28 MySQL