Puoi fare qualcosa di simile
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()non imposta la visibilità. Imposta la visualizzazione.
displayper mostrare un elemento.
Puoi fare qualcosa di simile
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()non imposta la visibilità. Imposta la visualizzazione.
displayper mostrare un elemento.
Risposte:
se [DIV] è un elemento allora
[DIV].style.visibility='visible'
O
[DIV].style.visibility='hidden'
visibilityha l'effetto collaterale che lo spazio occupato dall'elemento rimane riservato. Questo può o non può essere ciò che vuole l'OP
document.getElementById('id-of-the-div')posto di[DIV]
Supponiamo che tu non utilizzi una libreria come jQuery.
Se non si dispone già di un riferimento all'elemento DOM, procurarsene uno utilizzando var elem = document.getElementById('id');
Quindi puoi impostare qualsiasi proprietà CSS di quell'elemento. Per mostrare / nascondere, puoi usare due proprietà: displaye visibility, che hanno effetti leggermente diversi:
La regolazione style.displaysembrerà come se l'elemento non fosse affatto presente ("rimosso").
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)
o style.visibilityeffettivamente renderà il div ancora lì, ma sarà "tutto vuoto" o "tutto bianco"
elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';
Se stai usando jQuery, puoi farlo ancora più facilmente purché tu voglia impostare la displayproprietà:
$(elem).hide();
$(elem).show();
Utilizzerà automaticamente il displayvalore appropriato ; non devi preoccuparti del tipo di elemento (inline o block). Inoltre, elemnon può essere solo un elemento DOM ma anche un selettore come #ido .classo qualsiasi altra cosa che sia CSS3 valida (e altro!).
Puoi usare visibilityo displayma devi applicare le modifiche div.styleall'oggetto e non divall'oggetto stesso.
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 = falsenon funziona per me in Chrome. E la trueparte sembra funzionare di più per caso perché disattiva la proprietà (non è il mio voto negativo)
displayné visibilitysono proprietà booleane. Oltre a ciò, nonee blockdevono essere citati poiché sono stringhe ..
È possibile utilizzare le funzioni DOM: setAttribute e removeAttribute. Nel seguente link hai un esempio di come usarli.
funzioni setAttribute e removeAttribute
Una rapida panoramica:
hide: document.getElementById("myDiv").setAttribute("hidden","");
unhide: document.getElementById("myDiv").removeAttribute("hidden");
Puoi usare opacityche è simile a visibility ma consente di regolare la transizione e controllare altri parametri come l'altezza (per semplicità di snippet metto la logica js in html direttamente - non farlo nel codice di produzione)
Utilizza l'attributo "nascosto" dell'elemento DOM:
function showDiv(isVisible)
{
[DIV].hidden = !isVisible;
}
Rendi invisibile usando i CSS
#div_id {
/*height: 400px;*/
visibility:hidden;
}
Rendi visibile utilizzando Javascript
document.getElementById('div_id').style.visibility = 'visible';