【问题标题】:Bootstrap 4 carousel not working in laravel 5.8 projectBootstrap 4轮播在laravel 5.8项目中不起作用
【发布时间】:2020-01-06 20:55:57
【问题描述】:

我有一个 laravel 项目 (v5.8),并且我使用它附带的默认引导程序 4 用于我的前端 css 框架。除了无神论的旋转木马,一切都像魅力一样运作。我怀疑它必须与 laravel 如何使用 mix 编译资产有关,因为如果我使用 CDN 版本的 bootstrap、jquery 等创建刀片视图,则轮播可以工作。但是,如果我使用 laravel mix 生成的 app.js,图像会堆叠在一起。但最奇怪的部分是轮播式的“工作”,因为堆叠的图像确实会滑动,例如,最初它向我显示按“40.jpg”、“41.jpg”和“42.jpg”顺序堆叠的三个,然后滑动,顶部是“41.jpg”,下方是“42.jpg”,最后当幻灯片显示“42.jpg”时,该过程会从三张图像重新开始。

这是我每个部分的代码:

/resources/views/test.blade.php:

    @extends ('layouts.web')

@section('content')

    <div class="container">

        <div id="myCar" class="carousel slide" data-ride="carousel">
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/40.jpg" class="d-block w-100" alt="Imagen 40">
                </div>
                <div class="carousel-item">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/41.jpg" class="d-block w-100" alt="Imagen 41">
                </div>
                <div class="carousel-item">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/42.jpg" class="d-block w-100" alt="Imagen 42">
                </div>
            </div>
            <a class="carousel-control-prev" href="#myCar" 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="#myCar" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>

    </div>

@endsection

@section('footerScripts')

    @parent


@endsection

在 layouts.web 中,我定义了我的页眉、页脚、菜单、指向我的样式的链接、脚本等。

/resources/js/app.js:

require('./bootstrap');

import $ from 'jquery';
window.$ = window.jQuery = $;

/resources/js/bootstrap.js:

window._ = require('lodash');

/**
 * We'll load jQuery and the Bootstrap jQuery plugin which provides support
 * for JavaScript based Bootstrap features such as modals and tabs. This
 * code may be modified to fit the specific needs of your application.
 */

try {
    window.Popper = require('popper.js').default;
    window.$ = window.jQuery = require('jquery');

    require('bootstrap');
} catch (e) {}

最后,我用 laravel mix 和 webpack 编译我的资产:

/webpack.mix.js:

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css');
mix.setPublicPath('public');
mix.setResourceRoot('../');

我找不到问题出在哪里。在我看来,Bootstrap 加载正确,因为我在菜单、标题、布局网格中使用了引导程序类。我认为 jquery 也可以正确加载,因为我有一个“转到顶部”箭头,在使用 jquery 滚动时隐藏/显示。所以我完全迷失了,我不知道为什么图像会堆叠在一起。

很抱歉这篇大文章,但由于我无法确定问题可能出在哪里,我试图做到最具体。感谢您的帮助。

编辑:我忘了包含laravel生成的页面的源代码,也许错误更明显:

<!DOCTYPE html>
<html lang="en">
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf-token" content="Fp766WwnOt1vKyUE4fe7bYsRk0VNtBhRQYBmSKfN">
    <meta name="msapplication-TileColor" content="#ffffff">
    <meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
    <meta name="theme-color" content="#ffffff">

    <title>#</title>

    <link rel="apple-touch-icon" sizes="57x57" href="http://localhost:81/witinea/public/apple-icon-57x57.png">
    <link rel="apple-touch-icon" sizes="60x60" href="http://localhost:81/witinea/public/apple-icon-60x60.png">
    <link rel="apple-touch-icon" sizes="72x72" href="http://localhost:81/witinea/public/apple-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="76x76" href="http://localhost:81/witinea/public/apple-icon-76x76.png">
    <link rel="apple-touch-icon" sizes="114x114" href="http://localhost:81/witinea/public/apple-icon-114x114.png">
    <link rel="apple-touch-icon" sizes="120x120" href="http://localhost:81/witinea/public/apple-icon-120x120.png">
    <link rel="apple-touch-icon" sizes="144x144" href="http://localhost:81/witinea/public/apple-icon-144x144.png">
    <link rel="apple-touch-icon" sizes="152x152" href="http://localhost:81/witinea/public/apple-icon-152x152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="http://localhost:81/witinea/public/apple-icon-180x180.png">
    <link rel="icon" type="image/png" sizes="192x192"  href="http://localhost:81/witinea/public/android-icon-192x192.png">
    <link rel="icon" type="image/png" sizes="32x32" href="http://localhost:81/witinea/public/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="96x96" href="http://localhost:81/witinea/public/favicon-96x96.png">
    <link rel="icon" type="image/png" sizes="16x16" href="http://localhost:81/witinea/public/favicon-16x16.png">
    <link rel="manifest" href="http://localhost:81/witinea/public/manifest.json">
    <link rel="icon" href="http://localhost:81/witinea/public/favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="http://localhost:81/witinea/public/favicon.ico" type="image/x-icon" />
    <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">


        <script>
        </script>



        <link href="http://localhost:81/witinea/public/css/app.css" rel="stylesheet" />


</head>
<body>
    <a href="#" id="return-to-top"><i class="fas fa-chevron-up"></i></a>
    <header>
        <div class="container-fluid">
            <nav id="main" class="navbar navbar-expand-lg navbar-light bg-light fixed-top navbar-custom">
                <div class="container-fluid">
                    <a href="http://localhost:81/witinea/public/index.php" class="navbar-brand"><img src="http://localhost:81/witinea/public/img/witinea_logo.png" width="313" height="100" class="img-fluid"></a>
                    <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#w0-collapse" aria-controls="w0-collapse" aria-expanded="false" aria-label="Toggle navigation">
                        <span class="navbar-toggler-icon"></span>
                    </button>
                    <div id="w0-collapse" class="collapse navbar-collapse">
                        <ul id="w1" class="navbar-nav">
                            <li class="nav-item h5 font-weight-bold"><a class="nav-link active text-primary" href="http://localhost:81/witinea/public/index.php#QuienesSomos">Quiénes Somos</a></li>
                            <li class="nav-item h5 font-weight-bold"><a class="nav-link text-primary" href="http://localhost:81/witinea/public/index.php#Servicios">Nuestros Servicios</a></li>
                            <li class="nav-item h5 font-weight-bold"><a class="nav-link text-primary" href="http://localhost:81/witinea/public/index.php#Clientes">Clientes</a></li>
                            <li class="nav-item h5 font-weight-bold"><a class="nav-link text-primary" href="http://localhost:81/witinea/public/index.php/galeria">Galerías</a></li>
                            <li class="nav-item h5 font-weight-bold"><a class="nav-link text-primary" href="http://localhost:81/witinea/public/index.php#Contacto">Contáctanos</a></li>
                        </ul>
                        <ul id="w2" class="navbar-nav ml-auto">
                            <li class="nav-item h4"><a class="nav-link text-info" href="https://www.facebook.com/ConsultoresWitinea/" target="_blank"><i class="fab fa-facebook-f "></i></a></li>
                            <li class="nav-item h4"><a class="nav-link text-info" href="" target="_blank"><i class="fab fa-youtube"></i></a></li>
                        </ul>
                    </div>
                </div>
            </nav>
        </div>
    </header>

    <main>

    <div class="container">

        <div id="myCar" class="carousel slide" data-ride="carousel">
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/40.jpg" class="d-block w-100" alt="Imagen 40">
                </div>
                <div class="carousel-item">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/41.jpg" class="d-block w-100" alt="Imagen 41">
                </div>
                <div class="carousel-item">
                    <img src="http://localhost:81/witinea/storage/public/img/gallery/general/42.jpg" class="d-block w-100" alt="Imagen 42">
                </div>
            </div>
            <a class="carousel-control-prev" href="#myCar" 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="#myCar" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>

    </div>






    </main>

    <footer class="bg-secondary">
        <div class="container">
            <div class="row">
                <div class="col-5 small text-light">
                    Copyright © 2019 
                    <a class="text-light pl-2" href="#" target="_blank"><i class="fab fa-facebook-f "></i></a>
                    <a class="text-light pl-2" href="" target="_blank"><i class="fab fa-youtube"></i></a>
                </div>
            </div>
        </div>
    </footer>



        <script src="http://localhost:81/witinea/public/js/app.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/additional-methods.min.js"></script>

        <script>

            $(window).scroll(function() {
                if ($(this).scrollTop() >= 50) {        // If page is scrolled more than 50px
                    $('#return-to-top').fadeIn(200);    // Fade in the arrow
                } else {
                    $('#return-to-top').fadeOut(200);   // Else fade out the arrow
                }
            });

            $('#return-to-top').click(function() {      // When arrow is clicked
                $('body,html').animate({
                    scrollTop : 0                       // Scroll to top of body
                }, 500);
            });

        </script>





</body>
</html>

【问题讨论】:

    标签: bootstrap-4 laravel-5.8


    【解决方案1】:

    对不起。我发现了问题。我是一个白痴。问题是我在我的主 CSS 中添加了一些自定义样式,这些样式与轮播的类发生冲突。

    【讨论】:

    • 随时删除您的问题
    猜你喜欢
    • 2021-01-31
    • 2020-05-11
    • 1970-01-01
    • 2020-12-14
    • 2021-05-07
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多