Unsuru olmadığını kontrol DOM görünür
Eğer bir element, saf JS (jQuery) görünür olup olmadığını kontrol edebilirsiniz herhangi bir yolu var mı ?
Bu sayfa örneğin: Performance Bikes, Eğer Fiyatları (üst menüde) üzerine getirdiğinizde, fırsatlar penceresi görünür, ama başında gösterime girmedi. HTML ama görünür değil.
DOM öğesi göz önüne alındığında, ne olursa görünür olup olmadığını kontrol edebilir miyim? Denedim: window.getComputedStyle(my_element)['display']);
ama çalışıyor gibi görünmüyor. Kontrol edeyim hangi nitelikleri merak ediyorum. Aklıma geliyor:
display !== 'none'
visibility !== 'hidden'
Eksik olabilir ki başka?
CEVAP
O, ya da onun anne, display style özelliği ile gizli olduğunda this MDN documentation, bir elemanın offsetParent özelliğine göre null döndürecektir. Sadece element sabit olmadığından emin olun. Eğer 'position:fixed;' elemanları sayfanızda, şuna benzer: . eğer bu kontrol için bir komut dosyası
//Where el is the DOM element you'd like to test for visibility
function isHidden(el) {
return (el.offsetParent === null)
}
Eğer, diğer taraftan,yapınbu arama yakalanmayın diye pozisyon sabit elemanları, ne yazık ki (ve yavaş) window.getComputedStyle() kullanmak zorunda olacak. Bu durumda işlevi olabilir:
//Where el is the DOM element you'd like to test for visibility
function isHidden(el) {
var style = window.getComputedStyle(el);
return (style.display === 'none')
}
Seçenek #2 muhtemelen biraz daha basit beri bu hesaplar için daha çok kenar durumlarda, ama eminim iyi bir anlaşma daha yavaş, çok, çok istiyorsanız tekrar bu işlemi birçok kez, en iyi için muhtemelen kaçının.
Unsuru olmadığını kontrol DOM görünür...
Nasıl olursa öğesi görünür DOM olup ol...
Nasıl bir elementin JavaScript ile ger...
Nasıl bir kaydırma çubuğu görünür olup...
Eğer bir iç Görünüm ScrollView görünür...