Angular Bootstrap 轮播幻灯片过渡无法正常工作
Angular Bootstrap Carousel Slide Transition not working correctly
我希望在我正在构建的应用程序中使用 Angular Bootstrap Carousel Directive。
我能够很好地实现它,但是转换并没有像文档中显示的那样工作。应该发生的是旧图像从左侧滑出,新图像从右侧滑入。
我还注意到,如果您点击 'Edit Plunkr' 查看他们使用的代码,奇怪的是,我在本地实现中看到的是同样的事情。
直接代码取自他们的文档如下:
angular.module('ui.bootstrap.demo', ['ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('CarouselDemoCtrl', function($scope) {
$scope.myInterval = 5000;
var slides = $scope.slides = [];
$scope.addSlide = function() {
var newWidth = 600 + slides.length + 1;
slides.push({
image: 'http://placekitten.com/' + newWidth + '/300',
text: ['More', 'Extra', 'Lots of', 'Surplus'][slides.length % 4] + ' ' + ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4]
});
};
for (var i = 0; i < 4; i++) {
$scope.addSlide();
}
});
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="CarouselDemoCtrl">
<div style="height: 305px">
<carousel interval="myInterval">
<slide ng-repeat="slide in slides" active="slide.active">
<img ng-src="{{slide.image}}" style="margin:auto;">
<div class="carousel-caption">
<h4>Slide {{$index}}</h4>
<p>{{slide.text}}</p>
</div>
</slide>
</carousel>
</div>
</div>
</body>
</html>
我看到的是它只是切换到新图像,没有幻灯片,什么也没有。
这里缺少什么?是错误还是其他原因?
您缺少 angular 动画模块。您需要将其添加到您的脚本列表中:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular-animate.min.js"></script>
然后像这样进入你的模块:
angular.module('ui.bootstrap.demo', ['ui.bootstrap', 'ngAnimate']);
这是添加了 nganimate 的 plunker 的一个分支:http://plnkr.co/edit/E7j7KiZmCzIg629vWTnt?p=preview
我希望在我正在构建的应用程序中使用 Angular Bootstrap Carousel Directive。
我能够很好地实现它,但是转换并没有像文档中显示的那样工作。应该发生的是旧图像从左侧滑出,新图像从右侧滑入。
我还注意到,如果您点击 'Edit Plunkr' 查看他们使用的代码,奇怪的是,我在本地实现中看到的是同样的事情。
直接代码取自他们的文档如下:
angular.module('ui.bootstrap.demo', ['ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('CarouselDemoCtrl', function($scope) {
$scope.myInterval = 5000;
var slides = $scope.slides = [];
$scope.addSlide = function() {
var newWidth = 600 + slides.length + 1;
slides.push({
image: 'http://placekitten.com/' + newWidth + '/300',
text: ['More', 'Extra', 'Lots of', 'Surplus'][slides.length % 4] + ' ' + ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4]
});
};
for (var i = 0; i < 4; i++) {
$scope.addSlide();
}
});
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="CarouselDemoCtrl">
<div style="height: 305px">
<carousel interval="myInterval">
<slide ng-repeat="slide in slides" active="slide.active">
<img ng-src="{{slide.image}}" style="margin:auto;">
<div class="carousel-caption">
<h4>Slide {{$index}}</h4>
<p>{{slide.text}}</p>
</div>
</slide>
</carousel>
</div>
</div>
</body>
</html>
我看到的是它只是切换到新图像,没有幻灯片,什么也没有。
这里缺少什么?是错误还是其他原因?
您缺少 angular 动画模块。您需要将其添加到您的脚本列表中:
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular-animate.min.js"></script>
然后像这样进入你的模块:
angular.module('ui.bootstrap.demo', ['ui.bootstrap', 'ngAnimate']);
这是添加了 nganimate 的 plunker 的一个分支:http://plnkr.co/edit/E7j7KiZmCzIg629vWTnt?p=preview