傳遞一個數組,所以我們可以有一個 「上」 作爲第二個參數
function showHide(elmnt,on) {
if (elmnt.length==null) elmnt=[elmnt];
for (var i=0,n=elmnt.length;i<n;i++) {
var item = document.getElementById(elmnt[i]);
if (item) item.style.visibility=on?"visible":"hidden";
}
return false;
}
多:
<a href="#" onclick="return showHide(['scroll','oath'],1)">Show</a>
<a href="#" onclick="return showHide(['scroll','oath'],0)">Hide</a>
單品:
<a href="#" onclick="return showHide('scroll',1)">Show</a>
<a href="#" onclick="return showHide('scroll',0)">Hide</a>
可替代地,上傳遞作爲第一個參數,並如別處建議的,循環在arguments object對象從第1項
function showHide() {
var on = arguments[0]
for (var i=1,n=arguments.length;i<n;i++) { // from 1
var item = document.getElementById(arguments[i]);
if (item) item.style.visibility=on?"visible":"hidden";
}
return false;
}
<a href="#" onclick="return showHide(1,'scroll','oath')">Show</a>
<a href="#" onclick="return showHide(0,'scroll','oath')">Hide</a>
最後(進入jQuery的領土在這裏)傳遞一個對象允許選擇性打開和關閉
function showHide(obj) {
for (var o in obj) {
var item = document.getElementById(o);
if (item) item.style.visibility=obj[o]?"visible":"hidden";
}
return false;
}
<a href="#" onclick="return showHide({'scroll':1,'oath':0})">Show scroll, hide oath</a>
<a href="#" onclick="return showHide({'scroll':0,'oath':1})">Hide scroll, Show oath</a>
也返回false – mplungjan
第二個選項的變體是在函數中使用'arguments'對象,然後將其稱爲'showMenu('scroll,'oath');'。 – nnnnnn
@nnnnnn - 查看我的答案 - 我更願意傳遞數組 – mplungjan