我使用bootstrap carousel来滑动从外部API引入的数据。API数组中的第一个元素出现在旋转木马上,但是当我按下"下一个"或"上一个"箭头按钮时,屏幕闪烁,我得到这个错误:Uncaught TypeError: Cannot read property 'offsetWidth' of undefined
。
这个错误是什么意思,我如何修复它?一开始我以为这意味着它无法读取尚未存在的数据因为API数据需要很长时间才能获取,但这不可能是真的,因为第一张幻灯片显示得很好。
如果有帮助,这是我的html:
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li ng-repeat="item in slides" data-target="#myCarousel" data-slide-to="item" ng-class="{active : $first}"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item" ng-class="{active : $first}" ng-repeat="item in slides">
<img class="first-slide" ng-src="{{item.media[0]['media-metadata'][0].url}}" alt="First slide">
<div class="container">
<div class="carousel-caption">
<h1>{{item.title}}</h1>
<p>{{item.main}}</p>
<p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
</div>
</div>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div><!-- /.carousel -->
<div id="myCarousel" class="carousel" ng-class="slides.length?'slide':''" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li ng-repeat="item in slides" data-target="#myCarousel" data-slide-to="item" ng-class="{active : $first}"></li>
</ol>
我的答案可能太晚了,但可能会帮助未来需要的人。在第一行代码中,class="carousel slide"存在,必须由class="carousel"ng-class="slides.length?"'slide': " "确保只在项目存在时添加幻灯片效果