【发布时间】:2015-04-07 16:41:59
【问题描述】:
我正在尝试为使用 Bootstrap 和 AngularJS 创建的网站创建一个淡入淡出转换轮播。我已经创建了效果,但我在每张幻灯片之间一直让这个闪光灯变成白色,而不是在前一张图像上很好地淡入淡出。你现在可以在这里看到一个例子(直到问题得到回答或我修复它):
http://development.artlyticalmedia.com/portfolio
我正在使用 UI Bootstrap,因为它使 Bootstrap 与 AngularJS 配合得很好,这已经使大多数解决方案不准确,因为我的 html 看起来像这样:
<div class="container-fluid text-center" ng-controller="PortfolioCtrl" id="portfolio">
<carousel interval="interval" class="carousel-fade">
<slide ng-repeat="slide in slides" active="slide.active">
<img ng-src="{{slide.image}}" alt="{{slide.alt}}">
</slide>
</carousel>
</div>
请注意,<carousel> 元素不在标准 Bootstrap 轮播中;我相信它是<div class="carousel">。我的 SCSS 应该会产生正确的效果,如下所示:
.carousel-fade {
.carousel-inner {
.item {
transition-property: opacity;
transition-duration: 1s;
opacity: 0;
}
.active {
opacity: 1;
}
.active.left,
.active.right {
left: 0;
opacity: 0;
z-index: 1;
}
.next.left,
.prev.right {
opacity: 1;
}
}
.carousel-control {
z-index: 2;
}
}
我的 Javascript 非常标准,只是我禁用了 $animate,因为这是我之前必须实施的修复程序。反正就是这样:
angular.module('comartlyticalmediawwwApp')
.controller('PortfolioCtrl', function ($scope, $animate) {
$scope.interval = 3000;
$animate.enabled(false);
$scope.animate = null;
$scope.animateGlobal = true;
$scope.slides = [
{
image: 'images/portfolio/websites/3dsailing-Home.png',
alt: 'plan'
},
{
image: 'images/portfolio/websites/3dsailing-SailCoachPro.png',
alt: 'act'
},
{
image: 'images/portfolio/websites/3dsailing-3D-Printing.png',
alt: 'done'
},
{
image: 'images/portfolio/websites/Glass-Planner-Home.png',
alt: 'done'
},
{
image: 'images/portfolio/websites/Glass-Planner-PlanActDone.png',
alt: 'done'
},
{
image: 'images/portfolio/websites/Glass-Planner-Tutorials.png',
alt: 'done'
}];
});
【问题讨论】:
-
刚刚在我的开发版本的答案中添加了代码,它不起作用(你可以看一下,它仍然闪烁白色)。我已经在 StackOverflow 上尝试了大部分(如果不是全部)解决方案,这就是我发布新问题的原因。
标签: javascript css angularjs twitter-bootstrap