为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用媒体查询更改 Javascript 中的属性?

如何使用媒体查询更改 Javascript 中的属性?

白板的微信 2023-06-15 10:07:25
我是 JS 的新手。我正在尝试将媒体查询与 Vanilla JavaScript 结合使用。我正在尝试为我的网页设计一个滑块。我正在使用 Swiper.js。这是我的 JS 代码:var mySwiper = new Swiper('.swiper-container', { // Optional parameters   loop: true,   slidesPerView: 3,   spaceBetween: 30,// If we need paginationpagination: {  el: '.swiper-pagination',  clickable: true,},// Navigation arrowsnavigation: {  nextEl: '.swiper-button-next',  prevEl: '.swiper-button-prev',}, });我想将slidesPerView属性值修改为 1,媒体查询最大宽度为 750px。我试过这种方式:var media = window.matchMedia("(max-width: 750px)");mediaSlider(media);media.addListener(mediaSlider);function mediaSlider(media) {    if(media.matches) {        mySwiper.slidesPerView = 1;    }}这种方法不起作用。请帮助我找出我错过了什么。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

它叫addEventListener。只有 1 个事件。它被称为change


let media = window.matchMedia("(max-width: 750px)");


function mediaSlider(media) {

  if (media.matches) {

    mySwiper.slidesPerView = 1;

  }

}


media.addEventListener("change", mediaSlider);


查看完整回答
反对 回复 2023-06-15
?
慕的地10843

TA贡献1785条经验 获得超8个赞

始终建议正确阅读文档。我又犯了同样的错误。Swiper.js 提供了一个选项来添加响应式断点。为了解决这个问题,我像这样修改了我的代码。


var mySwiper = new Swiper('.swiper-container', {


  // Optional parameters

    loop: true,

    slidesPerView: 1,

    spaceBetween: 30,


    breakpoints: {

       750: {

           slidesPerView: 3,

       },

   },


查看完整回答
反对 回复 2023-06-15
  • 2 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信