Как остановить плавающий блок перед блоком, который он пересечет?
Есть блок с простой версткой <div id="a"> <div id="b">Информация </div> </div>
первая часть задачи : чтобы блок прилипал и двигался вместе со скроллом, тут все просто можем применить любой вариант - задать блоку fixed или sticky , но вторая часть задачи блок должен останавливаться у первого элемента с которым возможно будет пересечение, например как только нижний край блока #a касается элемента с которым будет пересечение, нужно отключить fixed и блок останется на месте, а скролл пойдет дальше. Сложность 1. Мы не знаем о элементе с которым он пересечется вообще ничего верстка динамическая и это может быть любой элемент. 2. Страница возможна так же с динамическим подгрузкой контента и блоков . Реализовать так же нужно на чистом js без использования библиотек. Как я себе это вижу это как то определять что fixed элемент пересекается с первым элемент по траектории движения и выбирать этот элемент и останавливать возле него движение.
Все верно, но как мне тогда узнать высоту родителя, в твоем примере это 100vh, как мне определить высоту до следующего элемента, когда я не могу знать заранее, на каком расстоянии он будет от нашего родителя. Это рекламный блок и он встраивается в разные сайты и их верстку я не могу знать заранее.
Danny Arty, так да, я поэтому и вопрос тут оставил как это сделать, ничего не могу найти подходящего в интернете, я не могу найти метод который определяет пересечение траектории и выбирает этот элемент
например вот тут хорошая демонстрация того чего я хочу, хоть и на jQuery и такие же решения я находил и на чистом js - fullweb.ucoz.ru/blog/umnyj_plavajushhij_blok_jquer... , но у меня основная проблема что я не могу знать как будет называться элемент у которого нужно будет ему остановится, у меня вместо #footer может быть что угодно, нужно как то понять именно будет ли пересечение с этим блоком и если есть пересечение то плавающий блок должен остановится над ним.
еще думаю может как вариант использовать если стики, то как то вычислить расстояние до ближайшего элемента снизу и до него задать высоту родителю, может так, подскажите как это сделать