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">&lsaquo;</a>
      <a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</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

È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top