亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Swiper 初始化不起作用(無法讀取未定義的屬性“推送”)

Swiper 初始化不起作用(無法讀取未定義的屬性“推送”)

繁華開滿天機 2023-04-20 09:45:18
我想做的事情真的很簡單,或者我是這么想的。Swiper.js API 記錄了一個布爾參數,該參數init允許禁用刷卡器的自動初始化。我想做的是像這樣在全球范圍內定義滑動器:const carousel = new Swiper(".swiper-container" , {    freeMode: true,    slidesPerView: "auto",    init: false,});并在單擊卡片時對其進行初始化,如下所示:$(".card").click(function(){    carousel.init();});這樣做的問題是瀏覽器會拋出錯誤并且腳本無法運行。這是錯誤:無法讀取未定義的屬性“推送”我不知道是什么問題,因為Swiper API明確指出,將參數設置init為false后,您可以通過調用手動初始化它carousel.init()
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

看來我可能已經解決了這個問題。似乎即使您全局聲明了 swiper,swiper.js 也無法訪問它,因為一些奇怪的原因,所以我找到了一個解決方法。也許這是設計它的方式,但至少對我來說,它沒有什么意義。


首先,您需要在一個函數中聲明您的刷卡器,如下所示:


function carouselProperties() {

    return new Swiper(".swiper-container", {

        init: false,

        freeMode: true,

        slidesPerView: "auto",

    });

}

之后我們進入應該調用滑動器的函數內部,在本例中是點擊事件監聽器。


$(".card").click(function(){

    // Here we define a variable that returns the swiper

    const carousel = carouselProperties()

    // Afte we define this variable we can finally call the init function

    carousel.init();

});

回顧一下:


您定義一個返回滑動器及其屬性的函數。

您在所有其他需要檢索刷卡信息的函數中調用該函數。

我希望這能幫助任何和我有同樣問題的人。


查看完整回答
反對 回復 2023-04-20
  • 1 回答
  • 0 關注
  • 519 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號