Как правильно сделать из этих 4-х функций одну?
А также необходимо заставить их работать при нажатии кнопки(теги button и input) в html с помощью атрибута "onclick=function()". Не могу понять как их правильно связать.
function showHideVysotskiy() {
var hideShow = document.getElementById('vysotskiy');
if (hideShow.style.display === "none"){
hideShow.style.display = "inline";
}else{
hideShow.style.display = "none";
}
};
function showHideDdt() {
var hideShow = document.getElementById('ddt');
if (hideShow.style.display === "none"){
hideShow.style.display = "inline";
}else{
hideShow.style.display = "none";
}
};
function showHideKeno() {
var hideShow = document.getElementById('keno');
if (hideShow.style.display === "none"){
hideShow.style.display = "inline";
}else{
hideShow.style.display = "none";
}
};
function showHideCinemaSongs() {
var hideShow = document.getElementById('cinemaSongs');
if (hideShow.style.display === "none"){
hideShow.style.display = "inline";
}else{
hideShow.style.display = "none";
}
};
Я пробовал самостоятельно как-то так, но не понимаю как обозначить номер переменной i при исполнении "onclick="function()"" :
var x = {
vysotskiy: document.getElementById('vysotskiy'),
ddt: document.getElementById('ddt'),
keno: document.getElementById('keno'),
cinemaSongs: document.getElementById('cinemaSongs')
};
var i = x.length;
function showHide() {
if (x[i].style.display === "none"){
x[i].style.display = "inline";
}else{
x[i].style.display = "none";
}
};
Ответ
Так как функции отличаются только элементом, id его можно передать через параметр
function showHide(hideShowId) {
var hideShow = document.getElementById(hideShowId)
if (hideShow.style.display === "none"){
hideShow.style.display = "inline";
}else{
hideShow.style.display = "none";
}
};
и вызывать потом
onclick='showHide("ddt")'
Комментариев нет:
Отправить комментарий