Gibi bir şey yapabilir misin
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()görünürlüğü ayarlamaz. Görüntüyü ayarlar.
display.
Gibi bir şey yapabilir misin
function showDiv()
{
[DIV].visible = true;
//or something
}
.hide()görünürlüğü ayarlamaz. Görüntüyü ayarlar.
display.
Yanıtlar:
[DIV] bir öğe ise o zaman
[DIV].style.visibility='visible'
VEYA
[DIV].style.visibility='hidden'
visibilityelementin kapladığı alanın ayrılmış kalması gibi yan etkiye sahiptir. OP'nin istediği şey bu olabilir de olmayabilir de
document.getElementById('id-of-the-div')yerine kullanın[DIV]
JQuery gibi bir kitaplık kullanmadığınızı varsayalım.
DOM öğesine henüz bir referansınız yoksa, şunu kullanarak alın var elem = document.getElementById('id');
Daha sonra bu öğenin herhangi bir CSS özelliğini ayarlayabilirsiniz. Göstermek / gizlemek için iki özellik kullanabilirsiniz: displayve visibilitybiraz farklı etkileri olan:
Ayarlama style.display, öğe hiç yokmuş gibi görünecektir ("kaldırılmış").
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)
veya style.visibilitygerçekte div'in hala orada olmasını sağlar, ancak "tümü boş" veya "tamamen beyaz" olur
elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';
JQuery kullanıyorsanız, displayözelliği ayarlamak istediğiniz sürece bunu daha da kolay yapabilirsiniz :
$(elem).hide();
$(elem).show();
Otomatik olarak uygun displaydeğeri kullanacaktır ; öğe türünü (satır içi veya blok) önemsemeniz gerekmez. Ek olarak, elemyalnızca bir DOM öğesi değil, aynı zamanda #idveya .classveya geçerli CSS3 (ve daha fazlası!) Gibi herhangi bir şey gibi bir seçici de olabilir .
Sen kullanabilirsiniz visibilityveya displayancak değişiklikleri uygulamak zorunda div.stylenesne değil, divnesne kendisi.
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 = falsebenim için Chrome'da çalışmıyor. trueGörünüşe göre bu kısım tesadüfen daha çok çalışıyor çünkü mülkü bozuyor (Olumsuz oyum değil)
displayde değildir visibility. Bunun yanı sıra, noneve blockgerek bunlar .. dizeleri beri teklif edilecek
DOM işlevlerini kullanabilirsiniz: setAttribute ve removeAttribute. Aşağıdaki bağlantıda bunları nasıl kullanacağınıza dair bir örnek var.
setAttribute ve removeAttribute işlevleri
Hızlı bir görünüm:
hide: document.getElementById("myDiv").setAttribute("hidden","");
unhide: document.getElementById("myDiv").removeAttribute("hidden");
Sen kullanabilirsiniz opacitybenzer olan visibility fakat geçişi kolaylaştırmak ve yükseklik gibi diğer parametreleri kontrol etmesine izin (pasajı basitlik için doğrudan html içinde js mantığı koymak - Prodüksiyon kodunda bunu yapmayın)
DOM öğesinin "gizli" özelliğini kullanın:
function showDiv(isVisible)
{
[DIV].hidden = !isVisible;
}
CSS kullanarak Görünmez yapın
#div_id {
/*height: 400px;*/
visibility:hidden;
}
Javascript Kullanarak Görünür Yapın
document.getElementById('div_id').style.visibility = 'visible';