[Javascript] Проверка реальной видимости элемента в html

denover

Постоялец
Регистрация
5 Июн 2008
Сообщения
56
Реакции
7
Добрый день,

мне нужен скрипт на js, который определяет реальную видимость некого элемента (скажем блока <div>) на странице. Т.е. фактически он должен определить, будет ли этот блок виден при открытии страницы в браузере.

Скажите, возможно ли написать такой алгоритм ?

Спасибо
 
Существует или нет можно проверить на null , или если со стилями спрятан проверить на стиль display
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Selector</title>

<script language="javascript" type="text/javascript">
    function init(){
        //есть ли элемент id=item1
        if(document.getElementById('item1') != null){
            alert('item1 есть');
        }else{
            alert('item1 нет');
        }
        
        //есть ли элемент id=item2
        if(document.getElementById('item2') != null){
            alert('item2 есть');
             //если есть, может спрятан (display:none)
            if(document.getElementById('item2').style.display == 'none'){
                alert('item2 спрятан');
            }
        }else{
            alert('item2 нет');
        }
        
    }
    window.onload = init; 
</script>

</head>

<body>
    <div id="item1">item1</div>
    <div id="item2" style="display:none;">item2</div>
</body>
</html>
 
это понятно. Интересует более глубокое решение, чтобы скрипт понимал уровни слоев или, скажем, если некий элемент хитро спозиционировать по типу style="position:absolute;left:-5000px;"
 
Назад
Сверху