2016-11-09 581 views
0

我在控制檯這個錯誤,但我不明白爲什麼myswiper.slideTo()不是一個函數

var mySwiper = new Swiper('.swiper-container', { 
    speed: 400, 
    loop: true, 
    slidesPerView:1, 
    calculateHeight: true, 
    spaceBetween: 50, 
    watchActiveIndex: true, 
    prevButton: '.swiper-button-prev', 
    nextButton: '.swiper-button-next' 
}); 

    $('input[type=radio][name=radio]').change(function() { 
    var indx = $(this).val(); 
    mySwiper.slideTo(indx,400,false); 
}); 

screen shot of error

+0

什麼是你的HTML嗎? – Weedoze

回答

-1

mySwiper未在更改功能定義。

我猜如果你檢查你的更改函數中mySwiper的值,它將爲空,因爲它尚未設置在你的函數中。

+0

我嘗試console.log(mySwiper),它有一些東西 –

0

您的代碼似乎正確。

你的問題當然是鏈接到腳本的負載。

檢查您是否正確加載JQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.0/js/swiper.min.js"></script> 
+0

我下載jquery文件幷包含它從文件夾中,

+0

@SergeySmekodub您只需要jquery或vanilla js Swiper lib,而不是兩者。並糾正你的腳本順序:1. jquery,2. Swiper,3. my.js(libs的初始化必須在最後,因爲你必須在初始化之前加載庫) –

0

你需要讓「mySwiper」 golabl,所以你可以把它在其他功能 聲明一個全局變量,你必須刪除「var」,並開始輸入變量名稱 像這樣:

mySwiper = new Swiper('.swiper-container', { 
    speed: 400, 
    loop: true, 
    slidesPerView:1, 
    calculateHeight: true, 
    spaceBetween: 50, 
    watchActiveIndex: true, 
    prevButton: '.swiper-button-prev', 
    nextButton: '.swiper-button-next' 
}); 

然後,你可以把它在任何你需要