【问题标题】:How to solve jquery mistake如何解决jquery错误
【发布时间】:2021-06-12 06:41:51
【问题描述】:

我在codeply 中找到了以下代码。复制到视觉工作室。在 sn-ps 上的代码看起来就是它应该的样子,但在我的电脑上我得到了这个。为什么会这样?我也收到一个错误script.js:1 Uncaught ReferenceError: $ is not defined at script.js:1 但是我安装了 jquery,所以我只是想知道为什么会发生错误。尝试使用另一个链接以另一种方式安装 jquery,但错误并没有消失。

$('.carousel[data-type="multi"] .item').each(function() {
    var next = $(this).next();
    if (!next.length) {
        next = $(this).siblings(':first');
    }
    next.children(':first-child').clone().appendTo($(this));

    for (var i = 0; i < 2; i++) {
        next = next.next();
        if (!next.length) {
            next = $(this).siblings(':first');
        }

        next.children(':first-child').clone().appendTo($(this));
    }
});
.carousel-control            { width:  4%; }
.carousel-control.left,.carousel-control.right {margin-left:15px;background-image:none;}
@media (max-width: 767px) {
    .carousel-inner .active.left { left: -100%; }
    .carousel-inner .next        { left:  100%; }
    .carousel-inner .prev        { left: -100%; }
    .active > div { display:none; }
    .active > div:first-child { display:block; }

}
@media (min-width: 767px) and (max-width: 992px ) {
    .carousel-inner .active.left { left: -50%; }
    .carousel-inner .next        { left:  50%; }
    .carousel-inner .prev        { left: -50%; }
    .active > div { display:none; }
    .active > div:first-child { display:block; }
    .active > div:first-child + div { display:block; }
}
@media (min-width: 992px ) {
    .carousel-inner .active.left { left: -25%; }
    .carousel-inner .next        { left:  25%; }
    .carousel-inner .prev        { left: -25%; }    
}
<!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.0">
    <title>Document</title>
    <!-- <link rel="stylesheet" href="assets/css/styles.css" /> -->
    
    <!-- <script src="assets/script.js"></script> -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> 
    <script src='Untitled-1.js'></script>
    <link rel="stylesheet" href='Untitled-1.css'/>


</head>

<body>

    <div class="col-md-12 text-center"><h3>Product Carousel</h3></div>
<div class="col-md-6 col-md-offset-3">
<div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="3000" id="myCarousel">
  <div class="carousel-inner">
    <div class="item active">
      <div class="col-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/e499e4/fff&amp;text=1" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/e477e4/fff&amp;text=2" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=3" class="img-responsive"></a></div>
    </div>
    <div class="item">
      <div class="col-md-3 col-sm-6 col-xs-12"><a href="#"><img src="http://placehold.it/500/f4f4f4&amp;text=4" class="img-responsive"></a></div>
    </div>
  </div>
  <a class="left carousel-control" href="#myCarousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>
</div>


</body>

</html>

【问题讨论】:

    标签: html jquery css bootstrap-4 carousel


    【解决方案1】:

    在您的代码 sn-p 中,您有对 script.js 的引用,但它被注释掉了。

    <!-- <script src="assets/script.js"></script> -->
    

    然而,这就是您发布的错误消息显示有 ReferenceError 的地方。

    如果您在实际测试代码中启用/取消注释了 script.js,并且所有内容都按照您发布的顺序列出,那么这很可能是您的问题。如果您在该 JavaScript 文件(即 script.js)中使用 jQuery,则将“script.js”脚本标记放在所有其他脚本标记(尤其是,至少是您的 jquery.min.js 标记)下方。

    在您上面的代码 sn-p 中,您首先列出了它,如果它包含在 jQuery 之前(并且您尝试在 script.js 中使用 jQuery),那么 $ 将不会被定义为您的错误消息读取。

    【讨论】:

      猜你喜欢
      • 2014-01-09
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2018-06-30
      • 2012-02-18
      相关资源
      最近更新 更多