Мне нужно написать директиву AngularJs \ Angular 1, которая позволит склеивать div и заголовки таблиц друг с другом, когда пользователь прокручивает страницу, чтобы они оставались на странице.
Идея состоит в том, чтобысоздайте фабрику, прикрепите атрибут #id к каждому узлу dom, который должен быть липким.Из контроллера я вытолкну элементы, используя
angular.element(document.querySelector('#sticky1'));
, затем, основываясь на высоте каждого следующего элемента, я вычислю значение верхнего смещения.Чтобы сделать элементы липкими, я хотел бы использовать css position: 'sticky' Я довольно плохо знаком с AngularJS, поэтому немного застрял в реализации.
window.App .factory 'ccSticky', ($ rootScope, $ window, $ document, $ log) ->
elemnts = []
elemntsMap = {}
attachElement = (element) ->
bodyEl = $document[0].body
nativeEl = element[0]
currentOffset = 0
if elements.length
prevOffset = elements[elements.length].offset
currentOffset = prevOffset + nativeEl.offsetHeight
css =
position: 'sticky'
'z-index': 1040
top: currentOffset + 'px'
element.css(css)
elemnts.push({ element, offset: currentOffset })
{
attachElement: attachElement
}