alexfrolov_xcx я бы реализовывал подобное в одном элементе.
это облегчило бы js код.
так как отпадает нужда высчитывать координаты кнопки и позиционировать попап + все это делать снова при ресайзе окна и возможном изменении контента, если хотим иметь качественную верстку.
поэтому кнопку оборачиваете блоком и располагаете на одном уровне с ней ваше всплывающее окно.
позиционировать его нужно будет с помощью css, а js будет лишь добавлять активный класс от которого будем показывать либо скрывать окно.