这里有问题,最近几天我一直在拉我的头发......
我正在为网站制作一种语言过滤器功能,它是一个菜单,您可以在其中单击一种语言,然后过滤掉其余的语言。由于我有很多不同的语言,我认为最好循环所有内容,而不是制作 15 段相同的代码。
这是我的代码:
// >>> Language click effects
for(langClickNum = 1; langClickNum < langList.length; langClickNum++) {
$('#lang'+langList[langClickNum]).click(function() {
if (!langSelect[langClickNum]) {
clrSearch();
clrLang();
langHide();
$('#lang'+langList[langClickNum]).addClass('langCheck');
$('.itemLang'+langList[langClickNum]).show();
langSelect[langClickNum] = true;
}
else {
clrLang();
langShow();
}
});
}
正如您在 click 函数中看到的那样,我想使用循环计数器编号从不同的数组中选择索引。但是由于单击函数中的脚本会运行,除非我单击它,否则它不会捕获正确的数组编号。相反,它会为我单击的每种语言选择最后一个数组编号。我很清楚问题是什么,但我不知道如何解决它。请帮帮我!
如果我给它数字而不是循环它就可以了,就像这样:
$('#lang'+langList[1]).click(function() {
if (!langSelect[1]) {
clrSearch();
clrLang();
langHide();
$('#lang'+langList[1]).addClass('langCheck');
$('.itemLang'+langList[1]).show();
langSelect[1] = true;
}
else {
clrLang();
langShow();
}
});
我希望你能看到我的问题。