Мне нужно выполнять скрипт один раз как только указанный блок будет в видимости экрана... Как это сделать, подскажите, пожалуйста? Желательно примером
Определить видно ли элемент на экране или нет, можно проанализировав положение верхней границы и положение скроллбара окна
При изменение положения скроллбара окна возникает событие $(window).scroll()
Определить впервые показывается элемент или нет, можно при помощи какого-нибудь глобального флага
jQuery(document).ready(function($) {
$(window).scroll(function() {
var cont = $('.content');
if (!cont.hasClass('visible')) {
var wh = $(this).height();
var topOffset = cont.offset().top - $(this).scrollTop();
var visible = (topOffset <= wh) && (topOffset + cont.height() > 0);
if (visible) {
cont.addClass('visible');
console.log('Visible!!!');
}
}
});
});
.padding {
height: 300px;
}
.content {
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="padding"> </div>
<div class="content">Content</div>
<div class="padding"> </div>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я получаю через ajax данные и вставляю их в div методом append()Можно ли как-то поймать когда процесс вставки завершится? Данных много и получается...
Скачал шрифт Rubik, чтобы использовать существующие в нём знаки валютИ вот когда начал писать в CSS правила, то понял, что что-то здесь не так
Почему не работает order bootstrap и блоки остаются в том же положении в каком были изначально?
Вставляю блок, и даю ему margin-top: 50px - и он сдвигает родителя body в данном случаеПочему так происходит?