Ограничить перемещение объекта JS

интернет компьютеры программирование программы JavaScript

В общем так, есть сайт на котором есть плавающий блок, сделал я его подобным образом:

var block;
var position;

$(document).ready(function() {
block = $(".moveBar");
position = block.offset();
});

$(window).scroll(function() {
var top = position.top - $(document).scrollTop();
//console.log();
if(position.top <= $(document).scrollTop()){
block
.css('position', 'fixed')
.css('left', position.left);
}else{
defPositionBlock();
}
});

function defPositionBlock(){
block
.css('position', 'relative')
.css('left', 0);
}

так вот, всё вроде не плохо, блок передвигается когда делаем скрол в низ и становится на место когда соответственно место где он должен стоять полностью видно на экране пользователя, так вот суть проблемы, данный блок выезжает за футер а это не хорошо. Вопрос, как мне выполнить какое либо действие когда один элемент касается другого? ну или как то по другому можно подобное реализовать?
Ответы:
Прячется за футером? Может z-index поможет
Ну так возьмите высоту блока, высоту футера своего, длину всей страницы (размер скрола) и позицию плавающего блока на текущай момент. Дальше надо говорить какое условие при выполнении скажет о касании плавающего блока и футера?


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.