【问题标题】:Why my JQuery code doesn't want to work while code is properly written为什么我的 JQuery 代码不想在正确编写代码时工作
【发布时间】:2026-01-24 23:50:01
【问题描述】:

所以我的轮播出现了问题。基本上有一个按钮,并且基于下面的 jQuery 代码,它应该切换它的符号以在单击后播放和暂停,并且应该播放和暂停轮播,而是在单击它后更快地切换它。计时器也不起作用。对我来说,感觉就像 jQuery 本身在根文件夹中发生故障一样。

<div class="container">
        <div class="row row-content">
            <div class="col">
                <div id="mycarousel" class="carousel slide" data-ride="carousel">
                    <div class="carousel-inner" role="listbox">
                        <div class="carousel-item active">
                            <img class="d-block img-fluid" src="img/uthappizza.png" alt="uthapizza">
                            <div class="carousel-caption d-none d-md-block">
                                <h2>Uthappizza <span class="badge badge-danger mr-2">HOT</span><span class="badge badge-pill badge-secondary mr-2">$4.99</span> </h2>
                                <p class="d-none d-sm-block">A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.</p>
                            </div>
                        </div>
                        <div class="carousel-item">
                            <img class="d-block img-fluid" src="img/buffet.png" alt="buffet">
                            <div class="carousel-caption d-none d-md-block">
                                <h2>Weekend Grand Buffet <span class="badge badge-danger mr-2">NEW</span></h2>
                                <p class="d-none d-sm-block">Featuring mouthwatering combinations with a choice of five different salads, six enticing appetizers, six main entrees and five choicest desserts. Free flowing bubbly and soft drinks. All for just $19.99 per person </p>
                            </div>
                        </div>
                        <div class="carousel-item">
                            <img class="d-block img-fluid" src="img/alberto.png" alt="alberto">
                            <div class="carousel-caption d-none d-md-block">
                                <h2>Alberto Somayya</h2>
                                <h4>Executive Chef</h4>
                                <p class="d-none d-sm-block">Award winning three-star Michelin chef with wide International experience having worked closely with whos-who in the culinary world, he specializes in creating mouthwatering Indo-Italian fusion experiences. </p>
                            </div>
                        </div>
                        <ol class="carousel-indicators">
                            <li data-target="#mycarousel" data-slide-to="0" class="active"></li>
                            <li data-target="#mycarousel" data-slide-to="1"></li>
                            <li data-target="#mycarousel" data-slide-to="2"></li>
                        </ol>
                        <a class="carousel-control-prev" href="#mycarousel" role="button" data-slide="prev">
                            <span class="carousel-control-prev-icon"></span>
                        </a>
                        <a class="carousel-control-next" href="#mycarousel" role="button" data-slide="next">
                            <span class="carousel-control-next-icon"></span>
                        </a>
                      <!--  <div class="btn-group" id="carouselButton">
                            <button class="btn btn-danger btn-sm" id="carousel-pause">
                                <span class="fa fa-pause"></span>
                            </button>
                        <button class="btn btn-danger btn-sm" id="carousel-play">
                                <span class="fa fa-play"></span> -->
                        <button class="btn btn-danger btn-sm" id="carouselButton">
                            <span id="carousel-button-icon" class="fa fa-pause"></span>
                        </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

这里是jquery

$(document).ready(function () {
    $('#mycarousel').carousel({ interval: 2000 });
    $('#carouselButton').click(function () {
        if ($('#carouselButton').children('span').hasClass('fa-pause')){
        $('#mycarousel').carousel('pause');
        $('#carouselButton').children('span').removeClass('fa-pause');
        $('#carouselButton').children('span').addClass('fa-play');
        }
        else if ($('#carouselButton').children('span').hasClass('fa-play')) {
        $('#mycarousel').carousel('cycle');
        $('#carouselButton').children('span').removeClass('fa-play');
        $('#carouselButton').children('span').addClass('fa-pause');
        }
        });
    });

【问题讨论】:

  • 使用 css 发布完整的 sn-p 使用 &lt;&gt; 工具
  • 尝试发布 jsfiddle 或 codepen 链接。

标签: javascript html jquery css bootstrap-4


【解决方案1】:

您是否在 2 秒内再次单击?这是我导致课堂作业自己绊倒的原因。

尝试在课程交换后调用轮播。

$(document).ready(function () {
    $('#mycarousel').carousel({ interval: 2000 });
    $('#carouselButton').click(function () {
        if ($('#carouselButton').children('span').hasClass('fa-pause')){
          $('#carouselButton').children('span').removeClass('fa-pause');
          $('#carouselButton').children('span').addClass('fa-play');
          $('#mycarousel').carousel('pause');
        }
        else if ($('#carouselButton').children('span').hasClass('fa-play')) {
          $('#carouselButton').children('span').removeClass('fa-play');
          $('#carouselButton').children('span').addClass('fa-pause');
          $('#mycarousel').carousel('cycle');
        }
        });
    });

【讨论】: