Определяет, находится ли указанный элемент на экране (в зоне видимости).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function isInView($e, everytime) { let screen_top = $(window).scrollTop(), screen_bot = screen_top + $(window).height(), elem_top = $e.offset().top, elem_bot = elem_top + $e.height(), in_view = ((elem_bot <= screen_bot) && (elem_top >= screen_top)); if (in_view) { if (everytime) { return true; } else if ($e.hasClass('in_view')) { return false; } else { $e.addClass('in_view'); return true; } } } |