2013-08-07 61 views
9

Tôi đang chuyển đổi một ứng dụng sang Bootstrap 3. Đây là mã cho trang băng chuyền mẫu của tôi, toàn bộ. Có, tôi đã tải jQuery trước khi Bootstrap.js được tải. Vì lý do gì đó, băng chuyền đơn giản sẽ không hoạt động. Cụ thể: các nút trước/tiếp theo không hoạt động và băng chuyền không tự động trượt sang trang trình bày tiếp theo.Bootstrap 3 Carousel sẽ không hoạt động. (Có, tôi đã tải jQuery trước khi Bootstrap)

Tested chống lại:

  • Safari 6.0.5
  • Chrome 28.0.1500.95
  • Firefox 23,0

... trên Mac OS X 10.8.4

<!doctype html> 
<html lang="en"> 

<head> 
    <meta charset="UTF-8"> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

    <!--[if lt IE 9]> 
     <script src="" alt-src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> 
    <![endif]--> 

    <script src="http://code.jquery.com/jquery.js"></script> 

    <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="css/bootstrap-glyphicons.css" type="text/css"> 

    <title>Carousel Test</title> 
    <meta name="description" content=""> 
    <meta name="keywords" content=""> 

    <script> 
     // Added this just so I didn't have to wait 5 seconds to see if the transition worked. // 
     $(document).ready(function() { 
      $('#Carousel').carousel({ 
       interval: 1000 
      }); 
     }); 
    </script> 
</head> 

<body> 
    <div id="Carousel" class="carousel slide"> 
     <ol class="carousel-indicators"> 
      <li data-target="Carousel" data-slide-to="0" class="active"></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/Carousel/001.jpg"> 
      </div> 
     </div> 

     <div class="carousel-inner"> 
      <div class="item"> 
       <img src="img/Carousel/002.jpg"> 
      </div> 
     </div> 

     <div class="carousel-inner"> 
      <div class="item"> 
       <img src="img/Carousel/003.jpg"> 
      </div> 
     </div> 

     <a class="left carousel-control" href="#Carousel" data-slide="prev"> 
      <span class="glyphicon glyphicon-chevron-left"></span> 
     </a> 
     <a class="right carousel-control" href="#Carousel" data-slide="next"> 
      <span class="glyphicon glyphicon-chevron-right"></span> 
     </a> 
    </div> 
</body> 
</html> 

Bất cứ ai có một cái nhìn sâu sắc về lý do tại sao điều này không hoạt động?

+0

Bảng điều khiển của bạn có cung cấp cho bạn bất kỳ lỗi nào không? –

+0

Không tải trang ... và không phải khi tôi nhấp vào các nút trước đó và tiếp theo. Khi tôi nhấp vào các chỉ báo băng chuyền, tôi nhận được "TypeError: 'null' không phải là một đối tượng (đánh giá 'e.data (" bs.carousel "). Tới')" trên bootstrap.min.js, dòng 6. –

+0

Cảm ơn bạn đã đặt câu hỏi này. Vấn đề tôi đã không tải jquery ;-) – whitehat

Trả lời

5

Hãy thử một carousel-inner với nhiều item là bên trong ..

<div id="Carousel" class="carousel slide"> 
     <ol class="carousel-indicators"> 
      <li data-target="Carousel" data-slide-to="0" class="active"></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/Carousel/001.jpg"> 
      </div> 
      <div class="item"> 
       <img src="img/Carousel/002.jpg"> 
      </div> 
      <div class="item"> 
       <img src="img/Carousel/003.jpg"> 
      </div> 
     </div> 

     <a class="left carousel-control" href="#Carousel" data-slide="prev"> 
      <span class="glyphicon glyphicon-chevron-left"></span> 
     </a> 
     <a class="right carousel-control" href="#Carousel" data-slide="next"> 
      <span class="glyphicon glyphicon-chevron-right"></span> 
     </a> 
    </div> 

Demo: http://bootply.com/72622

+0

Điều đó đã làm nó. Cảm ơn! –

3

Có một lỗi trong mã này mà là các chỉ số băng chuyền không thể nhấp. Chúng phải là các liên kết đưa bạn đến bảng điều khiển thích hợp.

Bạn cần phải thêm một hashtag với mục tiêu dữ liệu:

<li data-target="#Carousel" data-slide-to="0" class="active"></li> 
<li data-target="#Carousel" data-slide-to="1"></li> 
<li data-target="#Carousel" data-slide-to="2"></li> 
-1

Đối với thanh trượt để làm việc bạn phải bao gồm:

<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 

ở dưới cùng của tài liệu của bạn (trước khi cơ thể thẻ đóng)

+1

Bỏ phiếu xuống vì hai lý do: 1. Câu hỏi là 2 tuổi. 2. javascript bootstrap được tải trên dòng 15. –

0

Điều này giúp người bị kẹt như tôi mặc dù viết tất cả mã một cách chính xác. Tôi đã cố gắng tìm một lỗi trong mã nhưng mọi thứ đều ổn. Sau đó, tôi đã kiểm tra các tệp javascript của mình và nhận thấy rằng bằng cách nào đó loại của chúng đã thay đổi thành .js.txt. Vì vậy, tôi chỉ thay đổi nó thành .js và nó hoạt động.

Mã hóa vui vẻ!