javascript - 简单的 img 轮播功能不起作用?

标签 javascript jquery html css carousel

所以我正在为我正在构建的模拟网页创建一个简单的图像轮播。 我目前正在关注 this tutorial在YouTube上。分钟:7:10 显示我询问的功能。

在本教程中,他创建了这个 jquery 函数来激活轮播。

$(document).ready(function(){

    $(".nextLink").on("click", function(){
        var currentActiveImage = $(".image-shown");
        var nextActiveImage = currentActiveImage.next();

        currentActiveImage.removeClass(".image-shown").addClass(".image-hidden");
        nextActiveImage.addClass(".image-shown").removeClass("image-hidden");
    });

});

这是 HTML

<div class="carousel-outer">
            <figure class="carousel-inner">
                <img class="image-shown" src="images/team/alex_morrales.jpg" alt="">
                <img class="image-hidden" src="images/team/david_kim.jpg" alt="">
                <img class="image-hidden" src="images/team/jenny_tabers.jpg" alt="">
                <img class="image-hidden" src="images/team/joey_barrett.jpg" alt="">
                <img class="image-hidden" src="images/team/melinda_lee.jpg" alt="">
                <img class="image-hidden" src="images/team/rachel_dotson.jpg" alt="">
            </figure>
            <div class="img-buttons-box">
                <div class="img-buttons">
                    <a class="previousLink" href="#">Previous</a>
                    <a class="nextLink" href="#">Next</a>
                </div>
            </div>
        </div>

这是 CSS

.image-shown {
    display: inline-block;
}

.image-hidden {
    display: none;
}

我的印象是上述功能本身足以让轮播正常工作并无缝地循环浏览照片。

始终显示队列中的下一个并隐藏其余的。

但是,这显然不是这种情况,因为这是我第一次点击“下一步”按钮之前和之后的样子(在后续按下时它不会执行任何操作)。

之前

enter image description here

之后

the page after clicking "next"

非常感谢帮助理解为什么该功能看起来不足以使轮播正常工作,谢谢。

最佳答案

当您在 .removeClass().addClass() 中引用类时,您不必在类前写点。

$(document).ready(function(){

    $(".nextLink").on("click", function(){
        var currentActiveImage = $(".image-shown");
        var nextActiveImage = currentActiveImage.next();

        currentActiveImage.removeClass("image-shown").addClass("image-hidden");
        nextActiveImage.addClass("image-shown").removeClass("image-hidden");
    });

});

PS:我是使用开发工具看到的;单击“Next”并查看 img 如何获得带点的类。如果您想快速调试 DOM 更改,这只是一个建议。

关于javascript - 简单的 img 轮播功能不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37912299/

相关文章:

javascript - 从表单 POST 中接收到的对象为 null

javascript - 匹配后查找下一个单词的正则表达式

javascript - 使用ajax调用后返回 View

Php 页面显示一些奇怪的符号而不是 CSV 文件中的元素符号列表?

jquery - 如何使用 jQuery 和 html5 数据属性添加/删除背景颜色

javascript - 如何知道异步函数何时完成

html - 如果 div 存在并且具有值,如何显示或隐藏该 div

html - 如何单击表格中的单元格而不使其颜色变为蓝色(在 HTML/CSS 中)?

html - autoComplete "on"在 ReactJs 表单中不起作用

javascript - 如何引用 Gmail 的文本框?