简体   繁体   English

Bootstrap传送带滑动按钮不起作用

[英]Bootstrap Carousel Slide Buttons Not Working

My Bootstrap Carousel Slide seems not working even though i tried other Answers here (one of them is this . 即使我在这里尝试了其他答案,我的Bootstrap Carousel Slide似乎也不起作用(其中一个是this

But almost all of them aren't working and outdated, even though the it solve most of others problems (which seems doesn't work on me) 但是,即使它们解决了其他大多数问题(似乎对我也不起作用),但几乎所有的人都没有工作并且已经过时了

Most of the code come from Bootstrap Snippet pack from Visual Studio 2017 (Extension) 大多数代码来自Visual Studio 2017(扩展)的Bootstrap Snippet包

    <!-- Image Slider w/ Captions -->
<div id="my-carousel" class="carousel slide" data-ride="carousel" data-interval="false">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li data-target="#my-carousel" data-slide-to="0" class="active"></li>
        <li data-target="#my-carousel" data-slide-to="1"></li>
        <li data-target="#my-carousel" data-slide-to="2"></li>
    </ol>

    <!-- Wrapper for slides -->
    <div class="carousel-inner" role="listbox">

        <div id="#my-carousel" class="item active">
            <img class="img-fluid d-block w-100" alt="First slide" src="http://placehold.it/1200x675&text=First+slide">
            <div class="carousel-caption">
                <h3>Caption heading 1</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
            </div>
        </div>

        <div id="#my-carousel" class="item">
            <img class="img-fluid d-block w-100" alt="Second slide" src="http://placehold.it/1200x675&text=Second+slide">
            <div class="carousel-caption">
                <h3>Caption heading 2</h3>
                <p>Morbi eget libero quis metus consectetur semper.</p>
            </div>
        </div>

        <div id="#my-carousel" class="item">
            <img class="img-fluid d-block w-100" alt="Third slide" src="http://placehold.it/1200x675&text=Third+slide">
            <div class="carousel-caption">
                <h3>Caption heading 3</h3>
                <p>Suspendisse ullamcorper massa eget eleifend iaculis.</p>
            </div>
        </div>
    </div>

    <!-- Controls -->
    <a class="left carousel-control" href="#my-carousel" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="right carousel-control" href="#my-carousel" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
<script src="js/animations.js"></script>

JS: (Copied the code here ) JS :(在此处复制代码)

$(document).ready(function () {
    console.log("Main Content finished loading!");
});

$("#myCarousel .slider-pager a").click(function (e) {
    var index = $(this).index();
    slider.carousel(index);
    e.preventDefault();
}); 

I also tried other's code in some websites and i can't seem to find the answer or solution to my problem. 我还在某些网站上尝试了其他人的代码,但似乎找不到我的问题的答案或解决方案。

I got your code to work as is by fiddling with the bootstrap dependencies. 我通过摆弄引导程序依赖项,使您的代码按原样工作。

  • The code you posted did not have bootstrap css. 您发布的代码没有引导CSS。 Not sure if you missed it in your own project, but I added a link to the CDN. 不知道您是否在自己的项目中错过了它,但是我添加了指向CDN的链接。
  • The link to bootstrap js seemed to be throwing an error (looking for a Popper object?). 引导js的链接似乎抛出了错误(正在寻找Popper对象?)。 I switched from the beta to the stable release of bootstrap and it worked. 我从Beta版切换到Bootstrap的稳定版本,并且可以正常工作。
  • I entirely left out your custom jquery: the bootstrap css can use the html markup to know when to slide next, slide prev, etc. 我完全忽略了您的自定义jquery:引导CSS可以使用html标记来知道何时滑动下一个,滑动上一个等等。

A last note: I did not change it, but why does every item have id="#my-carousel" ? 最后说明:我没有更改它,但是为什么每个项目都具有id="#my-carousel" I think only the outer div (with class carousel ) needs id="my-carousel" (no hash symbol), and the rest could be removed. 我认为只有外部div(带有carousel类)需要id="my-carousel" (没有哈希符号),其余的可以删除。

 <!-- Image Slider w/ Captions --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <div id="my-carousel" class="carousel slide" data-ride="carousel" data-interval="false"> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#my-carousel" data-slide-to="0" class="active"></li> <li data-target="#my-carousel" data-slide-to="1"></li> <li data-target="#my-carousel" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner" role="listbox"> <div id="#my-carousel" class="item active"> <img class="img-fluid d-block w-100" alt="First slide" src="http://placehold.it/1200x675&text=First+slide"> <div class="carousel-caption"> <h3>Caption heading 1</h3> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> </div> <div id="#my-carousel" class="item"> <img class="img-fluid d-block w-100" alt="Second slide" src="http://placehold.it/1200x675&text=Second+slide"> <div class="carousel-caption"> <h3>Caption heading 2</h3> <p>Morbi eget libero quis metus consectetur semper.</p> </div> </div> <div id="#my-carousel" class="item"> <img class="img-fluid d-block w-100" alt="Third slide" src="http://placehold.it/1200x675&text=Third+slide"> <div class="carousel-caption"> <h3>Caption heading 3</h3> <p>Suspendisse ullamcorper massa eget eleifend iaculis.</p> </div> </div> </div> <!-- Controls --> <a class="left carousel-control" href="#my-carousel" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="right carousel-control" href="#my-carousel" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 

Your markup has several errors. 您的标记有几个错误。 The Bootstrap CSS CDN link is missing. Bootstrap CSS CDN链接丢失。 Every slide in your markup has an ID id="#my-carousel" . 标记中的每张幻灯片都有一个ID id="#my-carousel" ID's have to be unique. ID必须是唯一的。

Here two working examples of Bootstrap sliders. 这里是Bootstrap滑块的两个工作示例。 One using data attributes and one using a JavaScript init and external controls. 一种使用数据属性,另一种使用JavaScript初始化和外部控件。

 var sliderTwo = $('#carouselExampleIndicators2').carousel({ /* your options for slider #2 */ }) $(".slider-pager li").click(function (e) { var index = $(this).data('slide'); sliderTwo.carousel(index); e.preventDefault(); }); 
 .slider-pager { list-style-type: none; margin: 0; padding: 0; } .slider-pager li { background-color: #333; color: #FFF; padding: 1em; margin: 0 0 1em 0; cursor: pointer; text-align: center; border-radius: 4px; } 
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> <div class="container"> <h2>Slider via data attributes</h2> <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> <!-- Your controls --> <ol class="carousel-indicators"> <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li> <li data-target="#carouselExampleIndicators" data-slide-to="1"></li> <li data-target="#carouselExampleIndicators" data-slide-to="2"></li> </ol> <!-- Your slides --> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="http://placehold.it/1200x675/333333/FFFFFF&text=First+slide" alt="First slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="http://placehold.it/1200x675/333333/FFFFFF&text=Second+slide" alt="Second slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="http://placehold.it/1200x675/333333/FFFFFF&text=Third+slide" alt="Third slide"> </div> </div> <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div> </div> <hr> <div class="container"> <h2>Slider via JavaScript,<br>external controls</h2> <div id="carouselExampleIndicators2" class="carousel slide" data-ride="carousel"> <!-- Your slides --> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="http://placehold.it/1200x675/FF851B/FFFFFF&text=First+slide" alt="First slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="http://placehold.it/1200x675/0074D9/FFFFFF&text=Second+slide" alt="Second slide"> </div> <div class="carousel-item"> <img class="d-block w-100" src="http://placehold.it/1200x675/F012BE/FFFFFF&text=Third+slide" alt="Third slide"> </div> </div> </div> </div> <hr> <div class="container"> <ul class="slider-pager"> <li data-slide="0" class="active">First slide</li> <li data-slide="1">Second slide</li> <li data-slide="2">Third slide</li> </ul> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM