Вот гораздо более компактный способ кодирования этого:
Сделайте так, чтобы все эти объекты на вашей странице имели идентификаторы CSS, соответствующие этим именам.
var hideList = ["home", "about", "response", "script", "project", "contact"];
function show(listx) {
for (var i = 0; i < hideList.length; i++) {
document.getElementById(hideList[i]).style.visibility = "hidden";
}
document.getElementById(listx).style.visibility = "visible";
}
Я не вижу необходимости в отдельных функцияхдля show()
и shows()
, поскольку они только различаются в переданном параметре, поэтому вы можете просто передать соответствующее имя объекта одной функции.
Если вы используете современную библиотеку, такую как jQuery или YUI, вы можете простодайте каждому объекту, который вы хотите скрыть, конкретное имя класса, и затем вы можете извлечь все объекты на странице с этим именем класса в массив в одном вызове функции, а затем обработать элементы в этом массиве.Это более удобно, потому что если содержимое страницы изменяется, код не должен быть изменен для соответствия.