最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - owl-carousel not working in mobile device - Stack Overflow

programmeradmin1浏览0评论

responsive property doesn't seem to have an effect. In desktop version it is working fine, but on mobile device it still shows the same number of items as in desktop.

 $('.owl-carousel').owlCarousel({
    loop:true,
    margin:5,
    nav:false,
    responsiveClass:true,
    autoplay:true,
    autoplayTimeout:2500,
    responsive:{
        0:{
            items:1,
        },
        600:{
            items:2
        },
        1000:{
            items:4
        }
    }
})

responsive property doesn't seem to have an effect. In desktop version it is working fine, but on mobile device it still shows the same number of items as in desktop.

 $('.owl-carousel').owlCarousel({
    loop:true,
    margin:5,
    nav:false,
    responsiveClass:true,
    autoplay:true,
    autoplayTimeout:2500,
    responsive:{
        0:{
            items:1,
        },
        600:{
            items:2
        },
        1000:{
            items:4
        }
    }
})
Share Improve this question edited Nov 22, 2021 at 9:42 Matanya 6,3369 gold badges49 silver badges82 bronze badges asked Nov 19, 2021 at 5:45 shuvoshuvo 611 silver badge5 bronze badges 2
  • Do you have responsive meta tag in head of page: <meta name="viewport" content="width=device-width, initial-scale=1.0">? – prettyInPink Commented Nov 19, 2021 at 8:25
  • yes I did it but still doesn't work – shuvo Commented Nov 19, 2021 at 9:10
Add a ment  | 

2 Answers 2

Reset to default 5

These are two ways I found:

1-you have to set minimum-scale and maximum-scale of viewport meta tag:

<meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

2- Add following option to js:

responsiveBaseElement: 'body'

Just in case, maybe you did not include responsive meta tag:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Seems to be working fine with the code you added, maybe some css that is overwriting this somehow?

 $('.owl-carousel').owlCarousel({
    loop:true,
    margin:5,
    nav:false,
    responsiveClass:true,
    autoplay:true,
    autoplayTimeout:2500,
    responsive:{
        0:{
            items:1,
        },
        600:{
            items:2
        },
        1000:{
            items:4
        }
    }
});
.owl-carousel {
    margin: 2rem 0;
}

.owl-carousel .item {
    height: 10rem;
    background: #4DC7A0;
    padding: 1rem;
}

.owl-carousel .item h4 {
    color: #FFF;
    font-weight: 400;
    margin-top: 0rem;
}
<script src="https://cdnjs.cloudflare./ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare./ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css" integrity="sha512-tS3S5qG0BlhnQROyJXvNjeEM4UpMXHrQfTGmbQ1gKmelCxlSEBUaxhRBj/EFTzpbP4RVSrpEikbmdJobCvhE3g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="https://cdnjs.cloudflare./ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.min.css" integrity="sha512-sMXtMNL1zRzolHYKEujM2AqCLUR9F2C4/05cdbxjjLSRvMQIciEPCQZo++nk7go3BtSuK9kfa/s+a4f4i5pLkw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare./ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js" integrity="sha512-bPs7Ae6pVvhOSiIcyUClR7/q2OAsRiovw4vAkX+zJbw3ShAeeqezq50RIIcIURq7Oa20rW2n2q+fyXBNcU9lrw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<div class="owl-carousel owl-theme">
    <div class="item">
        <h4>1</h4>
    </div>
    <div class="item">
        <h4>2</h4>
    </div>
    <div class="item">
        <h4>3</h4>
    </div>
    <div class="item">
        <h4>4</h4>
    </div>
    <div class="item">
        <h4>5</h4>
    </div>
    <div class="item">
        <h4>6</h4>
    </div>
    <div class="item">
        <h4>7</h4>
    </div>
    <div class="item">
        <h4>8</h4>
    </div>
    <div class="item">
        <h4>9</h4>
    </div>
    <div class="item">
        <h4>10</h4>
    </div>
    <div class="item">
        <h4>11</h4>
    </div>
    <div class="item">
        <h4>12</h4>
    </div>
</div>

发布评论

评论列表(0)

  1. 暂无评论