白板的微信
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);

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
始終建議正確閱讀文檔。我又犯了同樣的錯誤。Swiper.js 提供了一個選項來添加響應式斷點。為了解決這個問題,我像這樣修改了我的代碼。
var mySwiper = new Swiper('.swiper-container', {
// Optional parameters
loop: true,
slidesPerView: 1,
spaceBetween: 30,
breakpoints: {
750: {
slidesPerView: 3,
},
},
添加回答
舉報
0/150
提交
取消