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 相关文章推荐
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
Angular2 http jsonp的实例详解
Aug 31 Javascript
微信小程序个人中心的列表控件实现代码
Apr 26 Javascript
vue使用canvas实现移动端手写签名
Sep 22 Javascript
JavaScript 防盗链的原理以及破解方法
Dec 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流量统计功能的实现代码
2012/09/29 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python安装OpenCV的示例代码
2020/03/05 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
大学活动策划书范文
2014/01/10 职场文书
放假通知
2015/04/14 职场文书