Ви можете зробити щось подібне
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()не встановлює видимість. Він встановлює показ.
displayдля показу елемента.
Ви можете зробити щось подібне
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()не встановлює видимість. Він встановлює показ.
displayдля показу елемента.
Відповіді:
якщо [DIV] - елемент, то
[DIV].style.visibility='visible'
АБО
[DIV].style.visibility='hidden'
visibilityмає побічний ефект, що простір, займаний елементом, залишається зарезервованим. Це може бути, а може і не бути те, чого хоче ОП
document.getElementById('id-of-the-div')замість[DIV]
Припустимо, ви не використовуєте бібліотеку, таку як jQuery.
Якщо ви ще не маєте посилання на елемент DOM, знайдіть його var elem = document.getElementById('id');
Тоді ви можете встановити будь-яке властивість CSS цього елемента. Щоб показати / приховати, ви можете використовувати два властивості: displayі visibility, які мають дещо різні ефекти:
Налаштування style.displayвиглядатиме так, ніби елемента взагалі немає ("вилучено").
elem.style.display = 'none'; // hide
elem.style.display = 'block'; // show - use this for block elements (div, p)
elem.style.display = 'inline'; // show - use this for inline elements (span, a)
або style.visibilityнасправді змусить діва все ще бути там, але бути "весь порожній" або "весь білий"
elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';
Якщо ви використовуєте jQuery, ви можете зробити це ще простіше, якщо ви хочете встановити displayвластивість:
$(elem).hide();
$(elem).show();
Він автоматично використовуватиме відповідне displayзначення; не потрібно дбати про тип елемента (вбудований або блок). Крім того, elemне може бути тільки DOM елемент , але і селектор , таких як #idчи .classабо що - небудь ще , що діє CSS3 (і більше!).
Ви можете використовувати visibilityабо, displayале ви повинні застосувати зміни до div.styleоб'єкта, а не до divсамого об'єкта.
var div = document.getElementById('div_id');
// hide
div.style.visibility = 'hidden';
// OR
div.style.display = 'none';
// show
div.style.visibility = 'visible';
// OR
div.style.display = 'block';
div.style.visibility = falseне працює для мене в Chrome. І ця trueчастина, здається, працює більше випадково, тому що вона скидає майно (Хоча не моє поступлення)
displayні visibilityбулеві властивості. Окрім цього, noneі їх blockпотрібно цитувати, оскільки вони є рядками ..
Ви можете використовувати функції DOM: setAttribute та removeAttribute. У наступному посиланні ви маєте приклад того, як ними користуватися.
setAttribute та removeAttribute функції
Швидкий перегляд:
hide: document.getElementById("myDiv").setAttribute("hidden","");
unhide: document.getElementById("myDiv").removeAttribute("hidden");
Ви можете використовувати opacityсхожий на, visibility але дозволяти плавно переходити та керувати іншими параметрами, такими як висота (для простоти фрагмента я прямо вкладаю js логіку в html - не робіть цього у виробничому коді)
Використовуйте атрибут "прихований" елемента DOM:
function showDiv(isVisible)
{
[DIV].hidden = !isVisible;
}
Зробити невидимим за допомогою CSS
#div_id {
/*height: 400px;*/
visibility:hidden;
}
Зробити видимим за допомогою Javascript
document.getElementById('div_id').style.visibility = 'visible';