Проверьте, видим ли элемент в DOM
Можно ли как-то проверить, виден ли элемент в чистом JS (нет jQuery)?
Так, например, на этой странице: Performance Bikes, если вы наводите курсор мыши на Deals (в верхнем меню), появляется окно сделок, но в начале оно не отображалось. Это в HTML, но это не видно.
Итак, учитывая элемент DOM, как я могу проверить, виден ли он или нет? Я старался:
window.getComputedStyle(my_element)['display']);
но это не похоже на работу. Интересно, какие атрибуты я должен проверить. Это приходит мне в голову:
display !== 'none'
visibility !== 'hidden'
Любые другие, которые я мог бы пропустить?
32 ответа
Это способ определить его для всех свойств CSS, включая видимость:
HTML:
<div id="element">div content</div>
CSS:
#element
{
visibility:hidden;
}
JavaScript:
var element = document.getElementById('element');
if(element.style.visibility == 'hidden'){
alert('hidden');
}
else
{
alert('visible');
}
Он работает для любого свойства CSS и является очень универсальным и надежным.
var visible = document.getElementById("yourelementID's");
if (visible){
// make events
} else
{
//other events
}