javascript - angularjs ng-repeat的猫头鹰旋转木马问题

标签 javascript css angularjs twitter-bootstrap

拜托,我正在为我的轮播使用猫头鹰轮播。我的旋转木马与这里的非常相似 http://thebootstrapthemes.com/live/thebootstrapthemes-zenclassified/ .我遇到了类似的解决方案 Here和这里 。然后我在下面的 Controller 中添加了一个类似的指令。

.directive('owlCarousel', function(){
    return {
        restrict: 'E',
        transclude: false,
        link: function (scope) {
            scope.initCarousel = function(element) {
                // provide any default options you want
                var defaultOptions = {
                    autoplay:true,
                    autoplayTimeout:2500,
                    loop:false,nav : true,
                    responsiveClass:true,
                    margin: 30,
                    responsive:{
                        0:{items:1},
                        767:{items:3},
                        992:{items:4}
                    }
                };
                var customOptions = scope.$eval($(element).attr('data-options'));
                // combine the two options objects
                for(var key in customOptions) {
                    defaultOptions[key] = customOptions[key];
                }
                // init carousel
                $(element).owlCarousel(defaultOptions);
            };
        }
    };
}).directive('owlCarouselItem', [function() {
    return {
        restrict: 'A',
        transclude: false,
        link: function(scope, element) {
            // wait for the last item in the ng-repeat then call init
            if(scope.$last) {
                scope.initCarousel(element.parent());
            }
        }
    };
}]);

以上对我有用,除了。最后一个元素的高度增加超过下面的其他元素。

您可以看到上面显示的最后一项。请问我该如何解决,原因是什么?任何帮助将不胜感激。

最佳答案

试试这个

.directive('owlCarousel', function(){
    return {
        restrict: 'EA',
        transclude: false,
        link: function (scope, element, attrs) {
            scope.initCarousel = function() {
                // provide any default options you want
                var defaultOptions = {
                    autoplay:true,
                    autoplayTimeout:2500,
                    loop:false,nav : true,
                    responsiveClass:true,
                    margin: 30,
                    responsive:{
                        0:{items:1},
                        767:{items:3},
                        992:{items:4}
                    }
                };
                $(element).owlCarousel(defaultOptions);
            };
        }
    };
}).directive('owlCarouselItem',[function() {
     return function(scope) {
     if (scope.$last) {
        scope.initCarousel();
     }
    };
  }]);

请引用这个问题 Here It what worked for me.

关于javascript - angularjs ng-repeat的猫头鹰旋转木马问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893225/

相关文章:

javascript - 在 span 中将按钮视为链接

javascript - 在 Bootstrap + Angular 中显示一个低于另一个的警报

javascript - Cypress fixtures 在 TypeScript 中的使用

javascript - 使用 jQuery 复制(例如通过加载或查找)包含内联脚本的 HTML 标记 - 如何实现?

javascript - 按 Enter 键时从具有相同名称和 ID 的各种文本输入中选定的文本输入检索数据

html - 向 HTML 表格添加水平滚动条

css - 在 Mobile Safari 中旋转期间出现断断续续的 SVG 渲染

javascript - 我需要哪个 Bower 包才能在 angularJS 中使用 locationProvider

angularjs - 使用 angularjs 过滤器用空格分割驼峰式字符串

Javascript 代码在 ios 和 Safari 中不起作用