错误未定义不是.click()的函数

时间:2014-05-29 22:40:21

标签: javascript jquery slider

我不断收到undefined is not a function错误,我不知道为什么,任何人都可以帮忙解决问题。

这里是整个代码

 (function(){

                var sliders = $('section.content-25').hide();
                var slidersOrder = sliders.each(function(i){
                                                var i = i - 1;
                                                $(this).addClass("slider"+(i+1));
                                            });

                $(".project-wrapper").on('click', function(){

                    var btnOrder = $(this).index();
                    var sliderClass = ("slider"+btnOrder);

                     if (sliders.hasClass("slider"+btnOrder)) {

                            sliderClass.show();

                     }; 
                    event.preventDefault();

                 });//end of .on('click') function

            })();// end self envoking functions

3 个答案:

答案 0 :(得分:0)

您在代码中使用了未定义的变量 -

if (sliders.hasClass("slider"+btnOrder)) {

滑块未在任何地方定义。

答案 1 :(得分:0)

我认为你的js有很多问题:

其中定义了sliders变量??

var sliderClass // I think you are trying to create jQuery DOM object here which is not correct

它应该是这样的

var sliderClass = $(".slider"+btnOrder);

答案 2 :(得分:0)

EDIT2:jsfiddle.net/Grimbode/LpuLE/4

编辑:尝试从您的代码中理解。这是一个有效的例子。 http://jsfiddle.net/Grimbode/LpuLE/3/

您的代码遇到了一些问题。我修了大部分。您只需确保此部分:var sliderClass = ("slider"+btnOrder);是您实际要做的事情。对我而言看起来不对劲。看起来好像您正在尝试访问某个元素,它看起来应该是:var sliderClass = $("#slider "+btnOrder);或类似的东西。

$('#slider1').hide();
$(".project-wrapper").on('click', function(){
                    var btnOrder = $(this).index();
                    alert(btnOrder);
                    var sliderClass = $("#slider"+btnOrder);

                     if (sliderClass.hasClass("slider"+btnOrder)) {

                            sliderClass.show();

                     }
 });