Я получил (динамически добавленный) элемент, который переупорядочивает на основе горизонтальной прокрутки, что означает, что он может перейти на экран. Прикрепленный к этому элементу, есть еще один, который не может зайти на экран, он должен оставаться на экране. Поэтому моя идея состояла в том, чтобы использовать обработчик событий, который запрашивает позицию элементов при каждом прокрутке. Если атрибут position-left становится ниже определенного числа, прикрепленный элемент будет затем перемещаться.jQuery: (live) scroll Обработчик событий на динамически добавленном элементе? Как еще я должен это решить?
Вы знаете эти элементы, это как меню/навигация, которые прокручиваются с вами до определенной точки, а затем, по-видимому, фиксируются положением.
Я пробовал это, но он не работает, возможно, потому что элементы добавлены с помощью javascript. Я тоже попробовал live("scroll"..
, но это тоже не сработало.
$(window).scroll(function(ev) {
alert($("#scrElem").position().left);
alert("work");
if ($("#scrElem").position().left >= 203) {
$("#scrElem .attElem").css("left", ($("#scrElem").position().left - 203) + "px");
};
});
EDIT:
Может быть, это помогает: Я использую tinyscrollbar плагин, здесь читаемая версия этого (http://baijs.nl/tinyscrollbar/js/jquery.tinyscrollbar.js). В основном этот плагин запускает события при прокрутке. Вот что я хочу, я даже видел, где он это сделал:
oWrapper[0].addEventListener('DOMMouseScroll', wheel, false);
oWrapper[0].addEventListener('mousewheel', wheel, false);
oWrapper[0].addEventListener('MozMousePixelScroll', function(event){
event.preventDefault();
}, false);
Не можете ли вы установить 'position: fixed' после прокрутки до определенной точки? – Horen
Да, я мог бы, но событие не находит мой элемент, потому что он был создан с помощью javascript после завершения события DOM. – user828591