My first glance it looked simple enough. Carl wanted to use classes instead of an ID. Doing this would we could specify one class and use it on multiple DOM elements on the page.
I started dissecting the code more and decided to do this as OOP programming. It's something I haven't had a lot of experience with but I wanted to learn and needed to learn. Referencing code samples across the internet. This got me understanding creating objects. I ended up looking at the jQuery from a Drupal module called Quicktabs that I was using on another project. From this I really started to understand objects and extending them.
It was a lot of trial and error; reading Stackoverflow and watching tutorials on jquery.com. And with all this I ended up get things working.
Now the only thing is to slow down the speed of scrolling so it's legible. The culprit is
animate() so I'm looking at implementing
setTimeout() that would move in increments per millisecond. I'm still working through this problem and hope to add to the functionality.