私は多くの子を持つスクロール可能な要素と、対応するオプションを持つselectタグを持っています。JS .scroll()を効率的に聞く
私は効率的にそれを行うには.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?
)
私はこれが気に入っています(嫌い 'setInterval')。ありがとう! – mreq
私は、ユーザーが200msの間スクロールを止めれば、 "fooscroll"というイベントが発生するだけであることが分かりますか? – Simon
@シモン:はい、あなたは正しいです。明確にするため、スクロールを「抑制」しません。一度ユーザーがスクロールしたのではなく、200msごとにスクロールしたい場合は、別の方法で行う必要があります。 – hayavuk