2016-11-09 55 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' 
}); 

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