#html #jquery #css #веб_программирование
Сейчас код такой: function aboutUsAmination() { $(window).scroll(function () { var aboutUs = $('.about_us'); var top = $(aboutUs).offset().top; var scrollFromTop = $(window).scrollTop(); if (scrollFromTop >= top) { console.log("Hello") } }); }; В консоль выводится сообщение когда мы непосредственно доскролили до блока(то есть, он в самом верху экрана). Мне нужно, что бы хотя бы когда он по середине экрана. Можно вычислить точное число и отнимать его от top, но это нужно будет отнимать для каждого разрешения экрана. И так: Как вывести в консоль сообщение, когда блок по вертикали по центру, а не вверху
Ответы
Ответ 1
Для этого - скорректруйте scrollFromTop на половину высоты окна, а top - на половину высоты блока: function aboutUsAmination() { $(window).scroll(function () { var aboutUs = $('.about_us'); var top = $block.offset().top + $block.outerHeight() / 2; var scrollFromTop = $(window).scrollTop() + $(window).height() / 2; if (scrollFromTop >= top) { console.log("Hello") } }); }; При таком варианте - сообщение в консоли вы увидите, когда середина блока окажется по вертикали посередине, или выше. Рабочий пример на jsfiddle
Комментариев нет:
Отправить комментарий