gpt4 book ai didi

jquery - 使用 Angular JS 实现光滑的轮播

转载 作者:行者123 更新时间:2023-12-03 22:00:29 25 4
gpt4 key购买 nike

我正在使用Slick我的其中一个轮播 AngularJS应用。为此,我创建了如下指令:

  myApp.directive('slickSlider',function(){
return {
restrict: 'A',
link: function(scope,element,attrs) {
$(element).slick(scope.$eval(attrs.slickSlider));
}
}
});

这是我在 View 文件中的代码:

  <div class="clearfix"  
slick-slider="{dots: false, arrows: true, draggable:
false, slidesToShow:3, infinite:false}">
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
<div class="my-slide">
<a><img ng-src="assets/img/img1.png"/></a>
</div>
</div>

在这种情况下,它工作正常并且初始化正确。

但是当我使用 ngRepeat 动态创建幻灯片时,它没有初始化并一张一张地显示幻灯片。

这是我使用 ngRepeat 的代码

<div class="clearfix"  
slick-slider="{dots: false, arrows: true, draggable:
false, slidesToShow:3, infinite:false}">
<div class="my-slide" ng-repeat="slide in slides">
<a><img ng-src="assets/img/{{slide.img}}"/></a>
</div>
</div>

有什么建议,我该如何解决?

最佳答案

我怀疑 slick 插件可能需要 DOM 完全渲染才能正常工作。

尝试:

myApp.directive('slickSlider',function($timeout){
return {
restrict: 'A',
link: function(scope,element,attrs) {
$timeout(function() {
$(element).slick(scope.$eval(attrs.slickSlider));
});
}
}
});

关于jquery - 使用 Angular JS 实现光滑的轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com