У меня есть прокручиваемый элемент с множеством дочерних элементов и тегом select с соответствующими параметрами.
Я хочу изменить значение выбора на основе элементов .scrollTop ()
Как это сделать эффективно? Я подумал о том, чтобы сохранить детский .offset (). Top
в массиве и перебрать его. Однако браузер с этим не справляется. Я мог бы попробовать создать флаг .setTimeout ()
, но это не кажется чистым.
r = $('ul')
offsets = []
r.find('li').each((index) ->
offsets[index] = $(this).offset().top
)
r.bind('scroll', ->
// while loop checking .scrollTop() > offsets[n] is slow
// maybe spams to many .scroll events?
)