scrollTargeting.js Demo
A tiny jQuery plugin that addresses a subjective issue with scrolling behaviours in the Safari web-browser on OS X. May also work with and/or be relevant to other browsers and platforms.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin porttitor nisi nec metus placerat blandit. Nunc luctus purus in sapien consectetur et sodales augue vestibulum. Quisque convallis vulputate lacinia. Sed non massa et ipsum sollicitudin molestie sed at urna. In pretium adipiscing cursus. Curabitur sit amet erat mi, eget facilisis sem. Curabitur augue lorem, gravida a fermentum ut, vestibulum sit amet lorem. Sed et ligula nulla. Pellentesque aliquam, eros sit amet aliquam imperdiet, magna eros euismod dolor, eget feugiat diam leo at odio. Cras volutpat volutpat tortor, nec congue elit ornare ac. Donec elit dolor, aliquam egestas dapibus vitae, lacinia eu est. Duis blandit pellentesque aliquet. Vestibulum pharetra fringilla sagittis. Fusce ut urna massa. Sed id dolor vitae nulla gravida aliquam at scelerisque nunc. Aenean scelerisque, mi eget ullamcorper cursus, velit dolor ornare risus, id vestibulum diam ipsum ac ipsum.
The textarea
below exhibits regular scroll behaviour, unaffected by the scrollTargeting.jsplug-in.
Pellentesque est eros, malesuada eget varius auctor, posuere ac neque. Nunc elit est, bibendum at porttitor a, facilisis nec eros. Etiam eu dui lacus. Morbi luctus vestibulum sollicitudin. Nunc quis eros et arcu dictum adipiscing. Integer ut erat et lectus auctor dictum. Sed mattis odio arcu. Nunc vulputate ante vel orci sollicitudin tristique venenatis at ante. Vivamus pulvinar mollis nibh vitae iaculis. Nam turpis felis, varius eget lobortis varius, luctus nec mauris. Aliquam nec orci id ipsum aliquet ornare nec id odio. Suspendisse ut felis pretium erat venenatis vestibulum. Aliquam at nisi vel arcu ultrices lobortis.
The textarea
below is using scrollTargeting.js's behaviour #1. If the mouse cursor is over the textarea
then scrolling will be limited to the textarea
alone.
Pellentesque est eros, malesuada eget varius auctor, posuere ac neque. Nunc elit est, bibendum at porttitor a, facilisis nec eros. Etiam eu dui lacus. Morbi luctus vestibulum sollicitudin. Nunc quis eros et arcu dictum adipiscing. Integer ut erat et lectus auctor dictum. Sed mattis odio arcu. Nunc vulputate ante vel orci sollicitudin tristique venenatis at ante. Vivamus pulvinar mollis nibh vitae iaculis. Nam turpis felis, varius eget lobortis varius, luctus nec mauris. Aliquam nec orci id ipsum aliquet ornare nec id odio. Suspendisse ut felis pretium erat venenatis vestibulum. Aliquam at nisi vel arcu ultrices lobortis.
The textarea
below is using scrollTargeting.js's behaviour #2. If the textarea
gets focus(ie: is clicked) then scrolling will be limited to this textarea
only, until an alternative region gets focus.
Pellentesque est eros, malesuada eget varius auctor, posuere ac neque. Nunc elit est, bibendum at porttitor a, facilisis nec eros. Etiam eu dui lacus. Morbi luctus vestibulum sollicitudin. Nunc quis eros et arcu dictum adipiscing. Integer ut erat et lectus auctor dictum. Sed mattis odio arcu. Nunc vulputate ante vel orci sollicitudin tristique venenatis at ante. Vivamus pulvinar mollis nibh vitae iaculis. Nam turpis felis, varius eget lobortis varius, luctus nec mauris. Aliquam nec orci id ipsum aliquet ornare nec id odio. Suspendisse ut felis pretium erat venenatis vestibulum. Aliquam at nisi vel arcu ultrices lobortis.
The textarea
below is using scrollTargeting.js's behaviour #3. This is a combination of behaviours #1 & #2. If the mouse cursor is over this textarea
or it gets focusthen scrolling will be locked to it.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin porttitor nisi nec metus placerat blandit. Nunc luctus purus in sapien consectetur et sodales augue vestibulum. Quisque convallis vulputate lacinia. Sed non massa et ipsum sollicitudin molestie sed at urna. In pretium adipiscing cursus. Curabitur sit amet erat mi, eget facilisis sem. Curabitur augue lorem, gravida a fermentum ut, vestibulum sit amet lorem. Sed et ligula nulla. Pellentesque aliquam, eros sit amet aliquam imperdiet, magna eros euismod dolor, eget feugiat diam leo at odio. Cras volutpat volutpat tortor, nec congue elit ornare ac. Donec elit dolor, aliquam egestas dapibus vitae, lacinia eu est. Duis blandit pellentesque aliquet. Vestibulum pharetra fringilla sagittis. Fusce ut urna massa. Sed id dolor vitae nulla gravida aliquam at scelerisque nunc. Aenean scelerisque, mi eget ullamcorper cursus, velit dolor ornare risus, id vestibulum diam ipsum ac ipsum.