我已将几个功能合并为一个功能。 当另一个选择块被选中时,旧功能被隐藏了两个选择块。组合的情侣切换功能合并成一个,切换功能不再起作用
它看起来是这样的:
function toggle1(){
if (getValue(elems.sel1) !== 0) { // <-- This function is getting the values of the selectfields
toggleVisibility(elems.sel2, true); // <-- This function is defining wether to hide or to show this selectfield
toggleVisibility(elems.sel3, true);
} else {
toggleVisibility(elems.sel2, false);
toggleVisibility(elems.sel3, false);
}
}
函数调用是这样的:
elems.sel1.addEventListener("change", toggle1);
我改变了功能到这一点:
function toggle(element, select1, select2) {
if (getValue(element) !== 0) {
toggleVisibility(select1, true);
toggleVisibility(select2, true);
} else {
toggleVisibility(select1, false);
toggleVisibility(select2, false);
}
}
调用此函数现在看起来如:
elems.sel1.addEventListener("change", toggle(elems.sel1, elems.sel2, elems.sel3));
看起来很不错,所有..给我没有错误或如此以来..但是,切换不切换!也许有人能告诉我我在这里做错了什么?
如果需要的话:你可以在JS FIDDLE
在toggle()函数中添加'debugger'(就像那样,在刚刚打开函数后的新行中),并检查'element,select1,select2'的值s是。在打开chrome控制台时,当该函数执行时,您的应用程序将在该点停止,并且您应该能够检查这些变量。 – JorgeObregon
'elems.1'是什么语法? – nem035
elems是一个对象,它存储代码中使用的所有DOM对象 –