Вы можете использовать jQuery-селектор :visible
, чтобы проверить, отображается ли элемент во фронтенде или нет. Этот селектор также выберет элементы с visibility: hidden;
или opacity: 0;
, потому что они сохраняют пространство в макете, даже если они не видны глазу.
Давайте рассмотрим пример, чтобы понять, как работает этот селектор:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Test If an Element is Visible</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
// показать/скрыть абзац при нажатии кнопки
$("p").toggle("slow", function(){
// проверяем абзац после завершения эффекта переключения
if($("p").is(":visible")){
alert("Абзац виден.");
} else{
alert("Абзац НЕ виден.");
}
});
});
});
</script>
</head>
<body>
<button type="button">Переключатель</button>
<p style="display: none;">Lorem ipsum dolor sit amet adipi elit...</p>
</body>
</html>