Bootstrap 3轮播不工作

Posted

技术标签:

【中文标题】Bootstrap 3轮播不工作【英文标题】:Bootstrap 3 Carousel Not Working 【发布时间】:2014-01-05 13:11:55 【问题描述】:

Bootstrap 中的轮播不会显示我的图像或对控件做出反应。

这是我的 html

<!DOCTYPE HTML>
<html>
    <head>
        <title>Skates R Us</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="css/bootstrap.min.css">
        <link rel="stylesheet" href="css/global.css">
    </head>

    <body>
        <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a href="#" class="navbar-brand">
                        Skates R Us
                    </a>
                </div>
                <div class="collapse navbar-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active">
                            <a href="index.html">Home</a>
                        </li>
                        <li>
                            <a href="contact.html">Contact / About</a>
                        </li>
                        <li>
                            <a href="shop.html">Shop</a>
                        </li>
                        <li>
                            <a href="new.html">New Products</a>
                        </li>
                        <li>
                            <a href="media.html">Media</a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>

        <div id="carousel" class="carousel slide" data-ride="carousel">
            <ol class="carousel-indicators">
                <li data-target="carousel" data-slide-to="0"></li>
                <li data-target="carousel" data-slide-to="1"></li>
                <li data-target="carousel" data-slide-to="2"></li>
            </ol>
            <div class="carousel-inner">
                <div class="item">
                    <img src="img/slide_1.png" >
                </div>
                <div class="item">
                    <img src="img/slide_2.png" >
                </div>
                <div class="item">
                    <img src="img/slide_3.png" >
                </div>
            </div>
            <a href="#carousel" class="left carousel-control" data-slide="prev">
                <span class="glyphicon glyphicon-chevron-left"></span>
            </a>
            <a href="#carousel" class="right carousel-control" data-slide="next">
                <span class="glyphicon glyphicon-chevron-right"></span>
            </a>
        </div>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <script>
            $("#carousel").carousel();
        </script>
    </body>
</html>

我的 CSS:

#carousel 

    margin-top: 50px;



.carousel 
    height: 500px;
    margin-bottom: 60px;

/* Since positioning the image, we need to help out the caption */
.carousel-caption 
    z-index: 10;


/* Declare heights because of positioning of img element */
.carousel .item 
    width: 100%;
    height: 500px;
    background-color: #777;

.carousel-inner > .item > img 
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    height: 500px;


@media (min-width: 768px) 
    .carousel-caption p 
            margin-bottom: 20px;
            font-size: 21px;
            line-height: 1.4;
    


img 
    background: red;

Chrome 控制台中没有错误,代码与 Bootstrap 示例中的代码几乎完全相同。

这就是我的网站的样子:

【问题讨论】:

可能是因为您没有准备好 jQuery 文档的代码:learn.jquery.com/using-jquery-core/document-ready 您使用的是哪个版本的 Bootstrap? 2.3.2 还是 3.0? 我使用的是 Bootstrap 3.0 你从哪里得到的 css? Bootstrap 站点上的示例。 getbootstrap.com/examples/carousel 【参考方案1】:

这里只有两件小事。

第一个是在以下轮播指示器列表项中:

<li data-target="carousel" data-slide-to="0"></li>

您需要将data-target 属性传递给选择器,这意味着ID 必须以# 为前缀。所以将它们更改为以下内容:

<li data-target="#carousel" data-slide-to="0"></li>

其次,您需要给轮播一个起点,这样轮播指示器项和轮播内部项都必须有一个active 类。像这样:

<ol class="carousel-indicators">
    <li data-target="#carousel" data-slide-to="0" class="active"></li>
    <!-- Other Items -->
</ol>
<div class="carousel-inner">
    <div class="item active">
        <img src="https://picsum.photos/1500/600?image=1"  />
    </div>
    <!-- Other Items -->
</div>

Working Demo in Fiddle

【讨论】:

@user2133268,当你提出问题时,你真的应该尽可能多地努力使它成为一个的问题。这里有 ton 的代码与您的示例无关。您通常应该尝试将您的代码放入 jsfiddle.net 或 bootply.com,以便其他人可以立即对其进行调试。您应该从文档中的一个工作示例开始,并逐行比较以查看其不同之处。这些都是可以掌舵回答你自己的问题的所有方式。他们授权你。这是一种很好的礼仪,但它也能让你在编程方面做得更好。 SO 如果您必须发布 jsfiddle 链接,则特别强制在帖子中发布代码! @KyleMit【参考方案2】:

这里是你需要做的改变

只需将轮播 div 替换为以下代码

您错过了数据目标的“#”并为第一项添加活动类

<div id="carousel" class="carousel slide" data-ride="carousel">
            <ol class="carousel-indicators">
                <li data-target="#carousel" data-slide-to="0"></li>
                <li data-target="#carousel" data-slide-to="1"></li>
                <li data-target="#carousel" data-slide-to="2"></li>
            </ol>
            <div class="carousel-inner">
                <div class="item active">
                    <img src="img/slide_1.png" >
                </div>
                <div class="item">
                    <img src="img/slide_2.png" >
                </div>
                <div class="item">
                    <img src="img/slide_3.png" >
                </div>
            </div>
            <a href="#carousel" class="left carousel-control" data-slide="prev">
                <span class="glyphicon glyphicon-chevron-left"></span>
            </a>
            <a href="#carousel" class="right carousel-control" data-slide="next">
                <span class="glyphicon glyphicon-chevron-right"></span>
            </a>
        </div>

【讨论】:

【参考方案3】:

好吧,Bootstrap Carousel 有各种参数可以控制。

间隔:指定每张幻灯片之间的延迟(以毫秒为单位)。

暂停:当鼠标指针进入轮播时暂停轮播通过下一张幻灯片,当鼠标指针离开轮播时继续滑动。

wrap: 指定轮播是连续遍历所有幻灯片,还是在最后一张幻灯片停止

供您参考:

更多详情请click here...

希望对你有帮助:)

注意:这是为了进一步的帮助。我的意思是,一旦轮播加载完毕,您如何自定义或更改默认行为。

【讨论】:

这是为了进一步的帮助。我的意思是一旦加载轮播,你如何自定义或更改默认行为。【参考方案4】:

最近我正在帮助一位朋友找出他们的轮播不工作的原因。控件不起作用,图像没有过渡。我在我使用过的页面上有一个工作示例,我们检查了所有代码,包括检查这篇文章中的上述项目。我们将“好”轮播粘贴到同一页面中,它仍然有效。现在,所有的 css 和 bootstrap 文件都是一样的。代码现在是相同的,所以我们只能尝试图像。

因此,我们用我的示例中的两个图像替换了这些图像。有效。我们用最初不起作用的前两个图像替换了这两个图像,并且它起作用了。我们将每个图像(所有 jpeg)一张一张地添加回来,当我们到达第七张图像(共 18 张)时,轮播失败了。诡异的。我们删除了这一个图像并继续添加剩余的图像,直到它们都被添加并且轮播工作。

作为参考,我们在此站点上使用了 jquery-3.3.1.slim.min.js 和 bootstrap/4.3.1/js/bootstrap.min.js。

我不知道为什么图像会或可能导致轮播出现故障,但确实如此。我在其他地方也找不到对这个原因的参考,所以我在这里发帖以供后人使用,希望在其他解决方案失败时它可以帮助其他人。

使用有限的“已知良好”图像集测试轮播。

【讨论】:

就我而言,在阅读了您的回答后,我发现 CSS 文件没问题,但缺少一个 javascript 文件。包含 Bootstrap 的 bootstrap.min.js 文件,它工作正常。谢谢。留下评论,因为它可能对未来的其他人有所帮助。【参考方案5】:

对我来说,DreamWeaver CC 中的轮播无法正常工作,我正在使用的“模板”页面中提供了代码。我需要将 data-ride="carousel" 属性添加到 carousel div 以便它开始工作。感谢 Adarsh 的代码 sn-p 突出了缺失的属性。

【讨论】:

以上是关于Bootstrap 3轮播不工作的主要内容,如果未能解决你的问题,请参考以下文章

Twitter Bootstrap 轮播不滑动

bootstrap 轮播craousel 采坑之(修改默认鼠标浮动轮播不停止)

在 python Django 中的 ajax 成功后,猫头鹰轮播不工作

IE11中的猫头鹰轮播不起作用

为啥这个基于 UIScrollView 的轮播不响应水平滑动?

在单个页面上使用两个(猫头鹰)轮播不起作用