Try out some of the live demos below, and find out how it works.
Full source code is on GitHub.