lazy load not work in bootstrap carousel

后端 未结 4 1736
渐次进展
渐次进展 2020-12-06 05:44

I create carousel using bootstrap 3 like this :

HTML :

4条回答
  •  误落风尘
    2020-12-06 06:11

    If you have multiple images in your slide, you have to use this :

    var cHeight = 0;
    
    $('#carousel').on('slide.bs.carousel', function (e) {
        var $nextImage = null;
    
        $activeItem = $('.active.item', this);
    
        if (e.direction == 'left'){
            $nextImage = $activeItem.next('.item').find('img');
        } else {
            if ($activeItem.index() == 0){
                $nextImage = $('img:last', $activeItem.parent());
            } else {
                $nextImage = $activeItem.prev('.item').find('img');
            }
        }
    
        // prevents the slide decrease in height
        if (cHeight == 0) {
           cHeight = $(this).height();
           $activeItem.next('.item').height(cHeight);
        }
    
        // => Changes here ! 
        // prevents the loaded images if it is already loaded
        $nextImage.each(function(){
            var $this = $(this),
                src = $this.data('original');
    
            if (typeof src !== "undefined" && src != "") {
               $this.attr('src', src)
               $this.data('original', '');
            }
        });
    });
    

提交回复
热议问题