La giostra Bootstrap non funziona
-
27-10-2019 - |
Domanda
Sto cercando di implementare la giostra Bootstrap Twitter e finora non ho avuto successo. Ho la pagina seguente:
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset="utf-8">
<title>Fluxware: Play, learn and build games</title>
<meta name="description" content="Home page for Fluxware">
<meta name="author" content="Tim Butram">
<!-- CSS Stylesheets -->
<link href="../bootstrap/css/bootstrap.css" rel="stylesheet">
<link href="../bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
<!--For shitty webbrowsers -->
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/sbn/trunk/html5.js></script>
<![endif]-->
<!-- Favicon -->
<link rel="favicon" href="images/favicon.ico">
</head>
<body>
<!-- Navbar -->
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Play</a></li>
<li><a href="#">Learn</a></li>
<li><a href="#">Build</a></li>
</ul>
</div>
</div>
</div>
<!-- Grid -->
<div class="container">
<div class="row">
<div class="span12">
<div class="hero-unit">
<div id="myCarousel" class="carousel">
<div class="carousel-inner">
<div class="active item"><img src="/images/1.png" /></div>
<div class="item"><img src="./images/2.png" /></div>
<div class="item"><img src="./images/3.png" /></div>
</div>
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>
</div>
</div>
<div class="row">
<div class="span4">
<a class="btn btn-large">Play</a>
<p>Play games created with Fluxware.</p>
</div>
<div class="span4">
<a class="btn btn-large">Learn</a>
<p>Learn how to create games and game assets</p>
</div>
<div class="span4">
<a class="btn btn-large">Build</a>
<p>Use the Fluxware tools to create game.</p>
</div>
</div>
</div>
</div>
</div>
<script src="../bootstrap/js/jquery.js"></script>
<script src="../bootstrap/js/bootstrap-carousel.js"></script>
<script src="../bootstrap/js/bootstrap-transition.js"></script>
</body>
</html>
E tutto sembra rendere correttamente, tranne la giostra. Dalla lettura della pagina Bootstrap, sembra che devo attaccare a
$('.myCarousel').carousel();
Da qualche parte, ma non ho idea di dove, come o perché. Oltre a ciò, nella console di errore Firefox, ottengo i due errori
$ is undefined
in bootstrap-carusel.js [riga 125] e
$ is not a function
In bootstrap-transition.js [riga 22
Soluzione
Chiaramente jQuery non è stato caricato correttamente.
Prova a caricare i due script nella pagina <head>
.
Il codice per eseguire la giostra è
<script>
// Load this when the DOM is ready
$(function(){
// You used .myCarousel here.
// That's the class selector not the id selector,
// which is #myCarousel
$('#myCarousel').carousel();
});
</script>
Puoi metterlo in o <head>
Dopo gli altri due script
o dove sono ora gli altri script.
Altri suggerimenti
Aveva lo stesso problema.
- Per me ho dovuto usare JQuery 1.7.1, poiché 1.6.4 non ha funzionato.
- Ho dovuto includere Bootstrap-Transition
Di recente ha avuto lo stesso problema, sembra nella versione attuale di Bootstrap, è necessario includere anche una classe chiamata SLIT.
<div id="myCarousel" class="carousel slide span12">
Hai definito come ID non una classe, quindi dovresti iniziare la giostra con questo codice di jQuery, quindi sostituire
$('#myCarousel').carousel();
invece di
$('.myCarousel').carousel();
Stavo usando Django's JQuery
(Non conosco la versione) e non funzionava. Tuttavia, funziona con Jquery 1.7.1
.
Se stai lottando per ottenere una presentazione della giostra Bootstrap per funzionare - ecco un modello con controlli posizionabili e una barra di navigazione progressi nella parte inferiore che tiene traccia delle diapositive.
[http://codepen.io/thenickeldime/ lastici
<div class="Slideshow_carousel-wrapper container-fluid">
<span class="Slideshow-ctl-L" onclick="carousel_left()"></span>
<div class="carousel slide" data-ride="carousel" ... </div>
<span class="Slideshow-ctl-R" onclick="carousel_right()"></span>
</div>
<div class="container-fluid Slideshow_progress-bar">
<ul id="slideshow_progress" class="Slideshow_progress"></ul>
</div>