Animate from one element to another (jQuery plugin)

Stencil of a shopping cart with the head of th...
Image via Wikipedia

Have you even tried clicking an "Add to cart"-button and not understood what happened? I have. An although I understand the idea of adding a product to the cart, and then letting the user continue browsing from where he is, I still get stumped when "nothing happens" when I click the button. So what to do?

Simple: Add a animation from the add button to the cart. That way you communicate what just happened. "The product moved in there, and by clicking the cart you'll find it again. Now continue buying stuff!".

Somebody must have done this before, so I started looking for a jQuery plugin to do this (jQuery was already on the page, so why not?). I found add2cart - A plugin that looks good, but that misses a few features I wanted:

  • The animation duration is set in seconds, meaning products further down the page will move faster than those further up. I wanted constant speed.
  • It didn't allow me to customize the look of the animated element.
  • The code rely on concatenating strings of CSS and generally could use lots of improvement.

So I did what anyone would do: rewrote the code from scratch, and posted it on GitHub.

Get the code: Animate From To 1.0

It's my first jQuery plugin ever, and my first public GitHub project, so let me know if I've done something wrong. Is this something that could be useful in one of your projects?