使用ng-repeat时,弹性滑块无法正常工作
Flexslider not working properly when using ng-repeat
我在使用 flex 滑块时遇到了问题,因为如果我使用 ng-repeat,它会停止工作。否则它工作正常。
myApp.controller('frontCtrl', function ($scope) {
var results = {"id":4,"title":"sddddddd", "photos":[{"url":"http://placekitten.com/g/400/200","id":1},{"url":"http://placekitten.com/g/400/200","id":2}]};
$scope.images=results.photos
});
myApp.directive('flexslider', function () {
return {
link: function (scope, element, attrs) {
element.flexslider({
animation: "slide"
});
}
}
});
.HTML
<div class="flexslider" flexslider>
<ul class="slides">
/* This wont work*/
<li ng-repeat="img in images">
<img src="{{img.url}}">
</li>
/* This work*/
<li>
<img src="http://placekitten.com/g/400/200">
</li>
<li>
<img src="http://placekitten.com/g/400/200">
</li>
<li>
<img src="http://placekitten.com/g/400/200">
</li>
</ul>
</div>
我已经在 plunker http://plnkr.co/edit/P2AOwQY0fQSMSXUQbc9t?p=preview 中重新创建了这个问题
由于某种原因,该指令对我不起作用,因此经过长时间的试验和错误,我想出了以下内容:
function startSlideShow() {
jQuery('.slideshow').flexslider({
animation: "slide",
animationLoop: false,
itemWidth: 240,
controlNav: false
});
jQuery('#menu-section a.dropdown-toggle').click(function () {
jQuery('#menu-section .dropdown-menu').toggle();
})
}
只需在加载完所有内容后调用它(我的图像来自运行时加载的 URL):
setTimeout( startSlideShow, 10)
您必须延迟弹性滑块,直到呈现指令中的所有内容。您可以使用$timeout
服务:
myApp.directive('flexslider', function ($timeout) {
return {
link: function (scope, element, attrs) {
$timeout(function(){
element.flexslider({
animation: "slide"
});
})
}
}
});
见普罗提。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作