htmlcssbootstrap-4owl-carousel

Bootstrap carousel Images not showing


I am using carousel with lazy loading ,so that images load only on scroll, But problem is that all images except images inside carousel are not loading. I have also tried this solution.

Carousel

     <div class="owl-carousel">
         <div class="item">
             <a href="/descriptive-essay-writer"><img src="/_/img/Descriptive-Essay.jpg" class="lazy" alt="Descriptive Essay"></a>
             <a href="/descriptive-essay-writer"><h4>Descriptive Essay</h4></a>
             <p>Our experienced descriptive essay writers paint a beautiful picture through words and give you an amazing descriptive essay.</p>
         </div>
         <div class="item">
             <a href="/persuasive-essay-writer"><img src="/_/img/Persuasive-Essay.jpg" class="lazy" alt="Persuasive Essay"></a>
             <a href="/persuasive-essay-writer"><h4>Persuasive Essay</h4></a>
             <p>Our persuasive essay writers are brilliant at convincing the reader and keeping them engaged in the essay from start to finish.</p>
         </div>
         <div class="item">
             <a href="/expository-essay-writer"><img src="/_/img/Expository-Essay.jpg" class="lazy"  alt="Expository Essay"></a>
             <a href="/expository-essay-writer"><h4>Expository Essay</h4></a>
             <p>Our expository essay writing service delivers a perfect expository essay complete with definitions, facts, examples and stats.</p>
         </div>
         <div class="item">
             <a href="/narrative-essay-writer"><img src="/_/img/Narrative-Essay.jpg" class="lazy" alt="Narrative Essay"></a>
             <a href="/narrative-essay-writer"><h4>Narrative Essay</h4></a>
             <p>Our narrative essay writers are master in the art of story-telling and making your essays engaging so you can get the best grade.</p>
         </div>
     </div>

Script

    <script>
$('.owl-carousel').owlCarousel({
    loop:true,
    margin:10,
    responsiveClass:true,
    autoplay:true,
    autoplayTimeout:2000,
    rewindSpeed : 1000,
    responsive:{
        0:{
            items:1,
            nav:true
        },
        600:{
            items:2,
            nav:false
        },
        1000:{
            items:3,
            nav:true,
        }
    }
})
</script>

Lazy Loading

  <script>
$(function() {


    
    $('.lazy').lazy({
        beforeLoad: function(element){
            console.log('image "' +element.data('src')+ '" is about to be loaded');
        },
        afterLoad: function(element) {
           
            console.log('image "' +element.data('src') + '" was loaded successfully');
        },
        onError: function(element) {
            console.log('error');
        },
        onFinishedAll: function() {
       
            console.log('lazy instance is about to be destroyed')
        }
    });


});
</script>

Please help what i am doing wrong,I have also tried changing order of script but no luck.


Solution

  • Add this to owl item

        .owl-item {
        display: inline-block;
         }
    

    One more Issue : I assume that the content outside the div should be hidden

        .owl-carousel{
        overflow:hidden;
         }