我不断收到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
答案 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();
}
});