未捕获的ReferenceError:我未在jQuery轮播中定义

时间:2018-11-01 09:42:22

标签: jquery carousel

我遇到了我不理解的错误。我以为该错误可能与我引用jQuery的方式或单击的方式有关,但我在那里尝试的所有方法均无效。

这是我的JavaScript:

$(document).ready(function() {
  $(".next-link").on("click", function() {
    var currentActiveImage = $("image-shown");
    var nextActiveImage = currentActiveImage.next();
    //var i = 

    if (nextActiveImage.length == 0) {
      nextActiveImage = $(".carousel-inner img").first();
    }

    currentActiveImage.removeClass("image-shown").addClass("image-hidden").css("z-index", -10);
    nextActiveImage.addClass("image-shown").removeClass("image-hidden").css("z-index", 20);
    $(".carousel-inner img").not([currentActiveImage, nextActiveImage]).css("z-index", 1);

    i.preventDefault();
  });
});

我使用以下命令将其插入到html文件中:

<script src="./js/jquery-3.3.1.js"></script>
<script src="./js/test.js"></script>

2 个答案:

答案 0 :(得分:0)

在点击功能事件中应引用

i

$(".next-link").on("click", function(event) {
 event.preventDefault();
}

答案 1 :(得分:0)

从使用方式来看,很明显i应该是一个事件对象,但显然不是。获取该对象的方法是通过现在没有参数的 click function()

除此之外,如果您实际将其命名为event(而不是i),您的代码将更加清晰。

这给我们以下内容:

$(document).ready(function() {
  $(".next-link").on("click", function(event) { // Added "event" parameter

    // Your regular code    

    event.preventDefault(); // Signal that the event has been handled and that processing must stop
  });
});