bootstrap 当我使用更新版本的 jquery 时,下拉菜单停止工作

bootstrap drop down stops working when I use newer version of jquery

我在我的页面上合并了更新版本的 Jquery 以使图片滑块工作,但是当我 link jquery 文件使图像滑块工作时,顶部菜单停止工作(下拉菜单和移动菜单停止工作)。 为了使图像滑块依次工作,我必须从 bootstrap 中删除 Jquery link。 Pikachoose 是我为图像滑块找到的插件,需要

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

上班。 我怀疑这两个 jquery 文件相互冲突。 有人知道如何解决这个问题吗?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<link href="css/style.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/base.css">
<script type="text/javascript" src="js/jquery.pikachoose.min.js"></script>
<script language="javascript">

$(document).ready(

function (){

$("#pikame").PikaChoose(

{
showCaption:false,
autoPlay:true, 
IESafe:true, 
thumbOpacity:0.5, 
fadeThumbsIn: true 
}
);

});

</script>


</head>
    
<body>
<nav class="navbar navbar-default">
  <div class="container-fluid"> 
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#defaultNavbar1"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
      <a class="navbar-brand" href="#"></a></div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="defaultNavbar1">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">About</a></li>
        <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">abcdefg<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">a</a></li>
            <li><a href="#">b</a></li>
            <li><a href="#">c</a></li>
            <li><a href="#">d</a></li>
            <li><a href="#">e</a></li>
            <li><a href="#">f</a></li>
            <li><a href="#">g</a></li>
          </ul>
        </li>
        <li><a href="#">Contact</a></li>
      </ul>
    </div>
    <!-- /.navbar-collapse --> 
  </div>
  <!-- /.container-fluid --> 
</nav>


<div class="container-fluid about text-center">
    <div class="row">
        <div class="col-xs-12"><h1>header1</h1><h2>header2</h2></div>
    </div>
</div>

<div class="wrapper">
    <div id="main">
        <div id="content">
            <div class="entry-left">
                <div id="mainSlide">
                    <ul id="pikame">
                    <li><img alt="" src="images/healthcarebrothers/keiichiando/keiichiando1.jpg" /></li>
                    <li><img alt="" src="images/healthcarebrothers/keiichiando/keiichiando2.jpg" /></li>
                    <li><img alt="" src="images/healthcarebrothers/keiichiando/keiichiando3.jpg" /></li>
                    <li><img alt="" src="images/healthcarebrothers/keiichiando/keiichiando4.jpg" /></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>



<!-- Include all compiled plugins (below), or include individual files as needed --> 
<script src="js/bootstrap.js"></script>

</body>
</html>

将顶部的 jQuery 库替换为底部的库,这可能会解决问题。

我理解的原因是第一个 jQuery 库是旧版本,这就是它不起作用的原因。

而当您删除上层库时您的代码不起作用的原因是文件

<script type="text/javascript" src="js/jquery.pikachoose.min.js"></script>

包含在文件之前

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

正确的做法是,您必须将所有 jquery 文件放在主 jquery 文件之后,以便先加载 jquery。您所要做的就是替换此代码

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/base.css">

<script type="text/javascript" src="js/jquery.pikachoose.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/base.css">

<script type="text/javascript" src="js/jquery.pikachoose.min.js"></script>

并从底部删除 jquery 文件,它可能会起作用。