Po pierwsze właściwość CSS display odpowiada za pokazywanie/ukrywanie elementu HTML, po drugie relative to wartość właściwości CSS o nazwie position, tak więc obie te cechy to całkiem różne rzeczy. Możesz na przykład za pomocą JS zmienić display z none na block (lub inline lub inline-block) i na odwrót. Natomiast position możesz zmienić ze static na relative (lub absolute) i vice versa.
Zakładając, że mamy takie kod HTML:
<div id="button">Kliknij mnie</div>
<div id="change">Zmieniam się</div>
Kod JavaScript pokazujący i ukrywający drugiego diva:
let buttonDiv = document.getElementById('button');
let changeDiv = document.getElementById('change');
buttonDiv.addEventListener('click', function() {
if (changeDiv.style.display != 'none') {
changeDiv.style.display = 'none';
} else {
changeDiv.style.display = 'block';
}
});
Kod JavaScript przełączający pozycjonowanie drugiego diva:
let buttonDiv = document.getElementById('button');
let changeDiv = document.getElementById('change');
buttonDiv.addEventListener('click', function() {
if (changeDiv.style.position != 'relative') {
changeDiv.style.position = 'relative';
} else {
changeDiv.style.position = 'static';
}
});