Tip: Use this on a touch device. This page contains many sections and paragraphs to trigger scroll events reliably. The sticky header helps visualize motion.
AAAA BBBBLorem ipsum dolor sit amet, consectetur adipiscing elit. Integer dapibus, orci eu rhoncus faucibus, neque arcu feugiat dolor, vitae tincidunt nunc purus ut nunc. Suspendisse sagittis, lacus vel ornare condimentum, arcu augue aliquet sem, sit amet tempor libero leo at dui.
Aliquam pulvinar, sem sed fermentum semper, libero erat iaculis enim, a facilisis nisi libero quis urna. Pellentesque viverra ultricies mi, in ultrices elit elementum sit amet. Sed euismod, metus non aliquet tristique, turpis sem congue ante, a dictum justo nisi eget augue.
“Scrolling starts here. Use this section to test initial touch scroll detection.”
Donec suscipit, nisl id interdum tempor, nunc neque bibendum nunc, eget tincidunt mi libero vel metus. Cras vitae bibendum purus.
Curabitur vehicula, dolor ac venenatis posuere, nunc purus interdum sem, sed viverra mauris enim id nibh. Maecenas sed neque nec risus dapibus fringilla. Etiam egestas, nulla ut elementum rhoncus, est tortor tincidunt arcu, vitae lobortis risus metus vitae lacus.
Morbi lobortis justo a libero venenatis, id dictum ligula accumsan. Phasellus ut nisi non neque semper mattis. Vestibulum finibus lectus id nisi sollicitudin, ut tempus libero feugiat.
“Keep swiping to simulate momentum and quick stops.”
Nullam eget accumsan metus. Praesent faucibus gravida congue. Pellentesque at viverra tellus.
Sed at magna non nisl sagittis consectetur. Integer molestie massa nec elementum volutpat. Donec id faucibus metus, in aliquam nisl. Integer non purus non tellus varius efficitur id et arcu.
Fusce semper dolor in nisl pretium, id vulputate orci congue. Cras id lectus in nisi elementum ultrices. Vivamus non laoreet est.
“Sticky header should help visualize the page shift during scroll.”
In viverra porta massa, nec posuere magna bibendum et. Integer tincidunt felis ac arcu porta, nec mattis tortor viverra.
Nunc id sem ultricies, posuere lectus quis, dignissim tortor. Etiam ut sollicitudin elit. Integer pretium dictum neque, et efficitur metus fermentum sit amet.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; In in diam ac odio varius bibendum. Donec eget justo massa.
“Try short flicks vs. slow drags to compare speed.”
Vestibulum a tincidunt felis. Nunc pharetra bibendum libero, eget posuere quam dapibus a.
Integer hendrerit urna sit amet eros porta mollis. Duis molestie sem sit amet metus facilisis, vitae varius arcu cursus. Morbi maximus, nisi at mattis interdum, ante quam lacinia nisl, at dictum mauris mi a erat.
Morbi sed massa id diam euismod convallis. Vivamus vulputate, tortor at pulvinar pharetra, magna nunc lobortis mauris, ut fringilla libero augue sed nulla.
“Observe scroll-start logging and speed calculations.”
Maecenas sodales dictum sem, non tempor elit feugiat in. Cras laoreet leo non tortor aliquet posuere.
Nam vitae pretium enim, vitae blandit purus. Integer tempus sagittis interdum. Fusce ultrices dictum iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.
Donec id arcu id quam porttitor condimentum. Sed congue, quam nec fermentum mattis, justo risus consectetur ante, et auctor lacus enim in nisi.
“Long content ensures multiple scroll events are fired.”
Aliquam dapibus ex id augue pharetra volutpat. Cras et vulputate lorem.
Vivamus id porta orci. Cras sed semper sapien. Aenean at pulvinar eros, et posuere diam. Vestibulum vehicula libero arcu, vitae rhoncus justo sodales nec.
Etiam vel rutrum metus. Sed id dolor eget augue hendrerit tincidunt. Sed a eros et lorem lobortis interdum.
“Reverse direction mid-scroll to simulate user adjustments.”
Nullam non pretium est, at rhoncus lacus. Aliquam erat volutpat.
Cras pulvinar a leo in efficitur. Sed tincidunt, mi ac finibus pharetra, felis dolor suscipit arcu, sed interdum purus arcu in arcu.
Nam sed lorem mi. Maecenas mattis urna sit amet dui elementum, in posuere ex bibendum.
“Pause briefly between gestures to test gap thresholds.”
Integer ac blandit elit. Curabitur ultricies dui non dictum posuere.
Nulla ac fermentum erat, id finibus augue. Curabitur molestie sit amet justo at sodales. Suspendisse volutpat eros a orci bibendum, at dapibus ipsum dictum.
Phasellus a imperdiet nisl, sit amet lacinia dui. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.
“Tweak your detection thresholds while scrolling through this section.”
Morbi tincidunt nisl ac magna hendrerit porta. Integer lacinia sit amet nisl in dictum.
Praesent vehicula arcu ac ullamcorper sodales. Curabitur id porta quam. Integer tempor elit in mi molestie, et pharetra eros hendrerit.
Vestibulum tempor quam vitae hendrerit hendrerit. Cras finibus libero id justo sagittis rhoncus.
“Small jitters shouldn’t be flagged; longer flicks should.”
Aenean id dictum mi, vitae hendrerit urna. Proin ac rutrum leo.
Mauris fermentum odio ac sapien laoreet, id tristique arcu tempus. Nullam lacinia vitae risus vitae pretium.
Integer nec iaculis est. Quisque tortor odio, dignissim id commodo non, lacinia a augue.
“Different phones produce different event cadences and deltas.”
Duis cursus leo sed posuere tempor. Pellentesque habitant morbi tristique senectus et netus.
Morbi vehicula neque ac justo interdum, sed suscipit nibh iaculis. Integer ac nibh varius, cursus erat a, laoreet libero.
Sed porttitor ultrices risus, in rhoncus sapien ultrices nec. Integer rutrum, sem in vulputate faucibus, quam libero accumsan neque, sed vulputate enim tortor non tellus.
“Bounce at the top/bottom to test extremes.”
Etiam sit amet luctus turpis. Sed dui nisl, maximus a hendrerit a, commodo sit amet sem.
Donec ornare lorem at arcu rutrum, vitae consequat eros varius. Cras ac urna lectus. Aliquam sodales sodales justo, vitae viverra tortor pretium id.
Donec eget mauris nec risus maximus ultricies. Integer eleifend dolor nec sem molestie, ut fermentum nisi viverra.
“Repeat the same gesture and compare outputs.”
Morbi feugiat nisi id diam dapibus, id congue sapien varius.
Aliquam dui nibh, pharetra vitae ornare a, dignissim ut nunc. Integer eu lectus sed lectus faucibus egestas.
Nam feugiat, lorem id pharetra consequat, enim tortor venenatis erat, eu efficitur lorem est id nunc.
“Check if logging occurs exactly on the first movement.”
Praesent nec arcu vel mi ultrices malesuada. In pretium commodo mi non facilisis.
Curabitur sed feugiat nisl. Pellentesque elementum, est vel elementum pulvinar, dui justo porttitor mi, id consequat sem erat in magna.
Morbi vitae viverra tortor. Maecenas elementum ipsum risus, in pulvinar sem varius id.
“Long drags vs. short flicks produce different event densities.”
Phasellus aliquet mi at nibh lobortis tristique. In fermentum convallis augue.
Ut tempor dapibus lectus. Donec feugiat semper lectus, sed scelerisque erat maximus sit amet.
Curabitur non varius libero, a dignissim massa. In sit amet bibendum nisl.
“Use performance.now() for high-resolution timings.”
Sed ac iaculis ante. Cras faucibus, nisi non mattis facilisis, velit mauris luctus enim, nec ullamcorper odio turpis vitae est.
Fusce ac eros id odio placerat pretium. Vestibulum nec mattis purus. Sed sit amet rhoncus magna.
Etiam et pulvinar diam, ac pulvinar nibh. Integer auctor nulla sed mi molestie, et semper libero porttitor.
“Different thumbs, grips, and surfaces alter scroll patterns.”
Morbi tincidunt justo mi, sed cursus urna posuere at.
Integer id dui vitae mauris varius tincidunt. Sed id sem vitae urna gravida commodo. Nulla facilisi.
Praesent congue leo ac interdum ullamcorper. Nulla lobortis convallis felis, eget euismod lectus viverra ac.
“Ensure listeners can be removed and re-added safely.”
Vivamus non molestie velit. Integer non velit eros. Curabitur non enim et justo pharetra porttitor.
Nunc eu efficitur diam. Integer et consequat libero, vitae lacinia enim. Nulla blandit odio id lectus condimentum, at accumsan risus facilisis.
Morbi tincidunt sem eget eros interdum, sed dignissim felis elementum. Sed varius tortor ac facilisis aliquam.
“Debounce or quiet windows can help define a ‘moment’.”
Aliquam erat volutpat. Integer malesuada egestas felis, sed ullamcorper massa faucibus et.
Phasellus quis iaculis mi, vitae commodo magna. Donec volutpat eros non ipsum convallis, a gravida arcu luctus.
Vivamus lacinia, velit nec volutpat fermentum, leo elit bibendum lacus, id bibendum turpis tortor nec sem.
“Exceed 1000 px/s to verify listener removal.”
Nam fermentum, magna quis molestie egestas, urna lorem convallis dolor, vitae laoreet enim massa non eros.
Integer consequat, erat nec ultrices facilisis, risus nunc dictum nisi, sit amet tempor mi odio vitae metus.
In quis lectus facilisis, hendrerit arcu at, pulvinar leo. Duis molestie ante nec sem laoreet, in venenatis urna rhoncus.
“iOS vs. Android can differ in scroll event cadence.”
Vestibulum vitae enim rhoncus, facilisis sapien a, suscipit lectus.
Ut id dignissim mi. Praesent lacinia libero sed justo tincidunt aliquet. Sed at ligula laoreet, egestas tellus sed, fringilla mauris.
Integer posuere sodales ante, id vehicula metus dignissim eu. Suspendisse mattis enim nec quam eleifend tristique.
“Scrolling ties into frame timing and main-thread load.”
Etiam id eros vel justo malesuada posuere. Nunc a rutrum lacus.
Sed vitae facilisis turpis. Donec id dui vel leo iaculis volutpat. Sed rhoncus aliquet urna ut dictum.
Pellentesque a nulla nisl. Nulla non lorem vulputate, pharetra leo in, euismod mauris.
“This page ignores desktop wheel input by design.”
Aliquam id accumsan dolor. Suspendisse commodo porttitor lorem id bibendum.
Maecenas dignissim elit et elit suscipit, et fermentum erat malesuada. Integer a arcu id arcu pretium condimentum.
Praesent id sem at nibh ullamcorper bibendum. Suspendisse suscipit faucibus justo, sit amet commodo magna.
“Use section edges to test scroll position sampling.”
Curabitur aliquam at magna sit amet dictum. In risus dui, pharetra eget faucibus non, commodo nec arcu.
Aliquam erat volutpat. Duis at suscipit leo. Ut gravida nunc ut mi pulvinar imperdiet.
Morbi ultricies est in risus tincidunt, sit amet pharetra augue aliquam. Integer vel bibendum mauris.
“Check that scroll-start logs only once per gesture.”
Etiam vitae arcu in justo tristique tempus. Maecenas tristique dictum porttitor.
Morbi non tincidunt massa, sit amet hendrerit nibh. Nunc non diam vitae mauris consectetur dictum.
Etiam lectus risus, sagittis a elit at, fringilla bibendum felis. Phasellus sollicitudin, magna in efficitur commodo, leo neque eleifend arcu, nec lacinia magna justo vel leo.
“Large pixel deltas over short time windows imply rapid swipes.”
Integer feugiat luctus diam, non consectetur odio tincidunt non.
Fusce facilisis ac elit nec vestibulum. Donec in tincidunt eros, at euismod sapien. Quisque aliquet tempor tortor, vitae rutrum arcu convallis id.
Vivamus at nulla id velit dictum aliquam. Sed at ipsum porttitor, tincidunt orci vel, fermentum neque.
“Try two quick flicks with 250–1000 ms gap to simulate double-bursts.”
Morbi vel ante ac magna pretium eleifend. Donec elementum placerat justo, eget accumsan massa volutpat vel.
Integer scelerisque tortor sed lorem blandit, vel consequat magna vehicula. Quisque ullamcorper egestas est sit amet fermentum.
Aliquam auctor dapibus leo non maximus. Duis tempor ante in fermentum efficitur.
“After cleanup, listeners can be re-initialized.”
Proin feugiat, neque vel fringilla sagittis, enim orci imperdiet nibh, a tempor tellus purus nec felis.
Phasellus a ipsum ac libero rhoncus malesuada. Sed efficitur lobortis odio, at mattis arcu rhoncus in. Pellentesque sed tempus mi.
Integer a aliquam massa, sit amet consectetur lorem. Aliquam vel libero sollicitudin, faucibus dui in, lobortis elit.
“Tune deltas, quiet gaps, and windows for your app.”
Mauris in pharetra enim. Fusce sed volutpat risus, quis tempus enim.
Quisque cursus, justo a luctus dictum, arcu arcu vehicula ex, a rhoncus erat libero id dui. Integer vehicula lectus eget nibh sagittis gravida.
Etiam placerat, lorem at volutpat rhoncus, dolor nulla venenatis nibh, in pretium odio urna sit amet sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.
“End of test content. Jump to top.”
Thanks for testing! Duplicate this section to extend the page further if needed.