2015-09-28 35 views
3

我用css製作了一個響應式圖像滑塊。我通過使用這個例子http://bootsnipp.com/snippets/featured/responsive-thumb-preview-in-carousel-indicators來做到這一點。除了當我點擊旋轉木馬時,滑塊自動工作,而不是滑動圖像,它會轉到另一頁。如何阻止此?是因爲它與angularjs衝突嗎?使用angularjs時,傳送帶不起作用?

下面的代碼:

<div id="thumbnail-preview-indicators" class="carousel slide" data-ride="carousel"> 

    <ol class="carousel-indicators"> 
     <li data-target="#thumbnail-preview-indicators" data-slide-to="0" class="active"> 
      <div class="thumbnail"> 
       <img class="img-responsive" src="../assets/images/abstract_wallpaper_1.png" /> 
      </div> 
     </li> 
     <li data-target="#thumbnail-preview-indicators" data-slide-to="1"> 
      <div class="thumbnail"> 
       <img class="img-responsive" src="../assets/images/435523.jpg" /> 
      </div> 
     </li> 
     <li data-target="#thumbnail-preview-indicators" data-slide-to="2"> 
      <div class="thumbnail"> 
       <img class="img-responsive" src="../assets/images/wallpaper-1356336.jpg" /> 
      </div> 
     </li> 
    </ol> 
    <div class="carousel-inner"> 
     <div class="item slides active"> 
      <div class="slide-1"></div> 
      <div class="container"> 
       <div class="carousel-caption"> 
        <h1>Hi there! How was your day?</h1> 
        <p>This is the slide 1. Next --></p> 
        <p><a class="btn btn-lg btn-primary" href="#/" role="button">I'm Fine</a></p> 
       </div> 
      </div> 
     </div> 
     <div class="item slides"> 
      <div class="slide-2"></div> 
      <div class="container"> 
       <div class="carousel-caption"> 
        <h1>Welcome back! how do you do?</h1> 
        <p>This is slide 2. Moving on... </p> 
        <p><a class="btn btn-lg btn-primary" href="#/" role="button">Great! Thanks.</a></p> 
       </div> 
      </div> 
     </div> 
     <div class="item slides"> 
      <div class="slide-3"></div> 
      <div class="container"> 
       <div class="carousel-caption"> 
        <h1>You are back again! Need anything?</h1> 
        <p>This is slide 3. And the last one</p> 
        <p><a class="btn btn-lg btn-primary" href="#/" role="button">Yes peace :)</a></p> 
       </div> 
      </div> 
     </div> 
    </div> 
    <a class="left carousel-control" href="#thumbnail-preview-indicators" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a> 
    <a class="right carousel-control" href="#thumbnail-preview-indicators" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a> 
</div> 

這是app.js.

'use strict' 

var app = angular.module('myWeb', 
    [ 
     'ngRoute' 
    ]); 
console.log('app'); 
app.config(['$routeProvider', '$httpProvider', function ($routeProvider, $httpProvider) { 
    $routeProvider 
     .when('/',{ 
      templateUrl: 'home.html', 
      controller: 'HomeController' 
     }); 
    $routeProvider 
     .when('/signup',{ 
      templateUrl: 'signup.html', 
      controller: 'SignupController' 
     }); 
    $routeProvider 
      .when('/contact', { 
       templateUrl: 'contact.html', 
       controller: 'ContactController' 
      }); 
    $routeProvider 
     .when('/about',{ 
      templateUrl: 'about.html', 
      controller: 'aboutController' 
     }); 

    $routeProvider 
    .when('/t-and-c-m', 
    { 
     activatetab: '#t-and-c-m' 
    }); 

}]); 

我是否需要在angularjs中配置以解決這個問題?幫助將不勝感激,因爲我是angularjs的初學者。

的問題爲CSS如下

#thumbnail-preview-indicators { 
    position: relative; 
    overflow: hidden; 
} 
#thumbnail-preview-indicators .slides .slide-1, 
#thumbnail-preview-indicators .slides .slide-2, 
#thumbnail-preview-indicators .slides .slide-3 { 
    background-size: cover; 
    background-position: center center; 
    background-repeat: no-repeat; 
} 
    #thumbnail-preview-indicators, 
    #thumbnail-preview-indicators .slides, 
    #thumbnail-preview-indicators .slides .slide-1, 
    #thumbnail-preview-indicators .slides .slide-2, 
    #thumbnail-preview-indicators .slides .slide-3 { 
     height: 480px; 
    } 

#thumbnail-preview-indicators .slides .slide-1{ 
    background-image: url(../assets/images/abstract_wallpaper_1.png); 
} 

#thumbnail-preview-indicators .slides .slide-2{ 
    background-image: url(../assets/images/435523.jpg); 
} 

#thumbnail-preview-indicators .slides .slide-3{ 
    background-image:url(../assets/images/wallpaper-1356336.jpg); 
} 

#thumbnail-preview-indicators .carousel-inner .item .carousel-caption { 
    top: 20%; 
    bottom: inherit; 
} 
#thumbnail-preview-indicators .carousel-indicators li, 
#thumbnail-preview-indicators .carousel-indicators li.active { 
    position: relative; 
    width: 100px; 
    height: 8px; 
} 
#thumbnail-preview-indicators .carousel-indicators li > .thumbnail { 
    position: absolute; 
    top: 0; 
    width: 100px; 
    display: none; 
    opacity: 0; 
    left: 50%; 
    margin-top: -80px; 
    margin-left: -50px; 
} 
#thumbnail-preview-indicators .carousel-indicators li:hover > .thumbnail, 
#thumbnail-preview-indicators .carousel-indicators li.active > .thumbnail { 
    display: block; 
    opacity: .8; 
} 
#thumbnail-preview-indicators .carousel-indicators li.active > .thumbnail:hover{ 
    opacity: 1; 
} 
@media screen and (max-width : 480px) {  
    #thumbnail-preview-indicators .carousel-indicators li, 
    #thumbnail-preview-indicators .carousel-indicators li.active { 
     width: 50px; 
     height: 8px; 
     position: relative; 
    } 
    #thumbnail-preview-indicators .carousel-indicators li > .thumbnail { 
     width: 50px; 
     left: 50%; 
     margin-top: -50px; 
     margin-left: -25px; 
    } 
} 
+0

HREF =「#/」而應被HREF =「#」 –

+0

你能創建的jsfiddle HTTP ://jsfiddle.net/爲此?以這種方式提供解決方案更容易。 – Rejoy

+0

這是在jsfiddle一團糟。我沒有在我的生活中使用jsfiddle,所以在這裏我也添加了css文件。 [鏈接](http://jsfiddle.net/0wahLkc7/3/)用於任何分析的代碼。但我認爲這是行不通的。 :( –

回答

2

由於在下一個/上一個按鈕中使用了#,Bootstrap Carousel與AngularJs不兼容。

你可以試着重寫引導代碼carousel.js或使用其他項目像這樣: https://angular-ui.github.io/bootstrap/

+0

好的,我會嘗試使用'ui.bootstrap'來實現這個功能。 –

0

在我看來,你有足夠的<a href='#/'>被點擊時,他們將確實加載了新的一頁。這裏有什麼意圖?最有可能的,你想有一個ng-click="myfunc()"同時聲明

$scope.myfunc = function() {....} 

做別的事情,當用戶點擊鏈接。該聲明將在頁面的該部分的控制器中完成(我將在ng-controller="CarouselController的第一個div上創建一個CarouselController,以便在需要時可以在其他位置重新使用它)。

+0

是的。我知道它會進入默認頁面,因爲應用程序,我會稍後改變,我打算加載流行的產品等 –

+0

旋轉木馬怎麼樣,我必須配置'#thumbnail- 'app.js'中的預覽指示器也可以 –