Parallax.js
The swankiest Javascript framework for elegantly sliding pages and parallaxing backgrounds. It'll make your monocle drop.

Me enjoying some fine chocolate milk.

Hey, I'm Scott

I like to hit the keyboard and make nifty things.
I do hope you fine chaps enjoy Parallax.js as much as I do.

If you have any questions, compliments, or just built something super cool with it, I'd love to hear about it!
Contact: scott.tolksdorf@gmail.com
Examples
Returns you to the last page you were on
Alert from the current page
From the right slow
From the top with linear easing
From the left with increased parallax
From the bottom with an onload function
Hover to see code.
Click to see it in action!
BOO!
Click anywhere to head back.

What is Parallax.js?

Parallax.js is a nifty Javascript framework that allows you to easily add sliding page trasitions and parallaxing backgrounds to any project.
Very light weight, very cool. Just like fezes.

Adding Pages

Add accepts either a name and an element, or just an element. With the latter Parallax.js will try to use the element's Id as the name. Pages can be accessed using their name as a property on the Parallax.js object.

parallax.add("foo", $("#page1"))
	.add($("#bar"));

parallax.foo; //<- woah! they're properties now!
parallax.bar;

Backgrounds and Parallax Scaling

To get a nifty parallaxing background, just set a jQuery element to be Parallax.js's background.
For best results, make sure that the element's background image is a repeating image.
You can also control the scaling, or how much the background moves in relation to pages.

parallax.background = $("body");

parallax.scaling = 0.4; //background moves 40% with the pages

Speed and Easing

Some like it fast, some like it slow. Some like to swing and others like to get... umm linear?
Whatever you fancy, Parallax.js has you covered.

parallax.speed = 1200; //In milliseconds of course!

parallax.easing = 'linear';

Movement

The meat and potatoes. Invoking these will move that page in from that side.

parallax.bar.left(); //Bar slides in from the left
parallax.foo.top(); //bringing back foo from the top

parallax.bar.bottom(IAmBack()); //We got callbacks too ;)

function IAmBack(){
	alert("I'm back foo!");
}

Show and Hide

Sometimes we don't need the fanciness. Show and hide simply bring pages to focus instantly, or hides them.

//All pages start out hidden,
//remember to show your initial page!
parallax.foo.show();

parallax.bar.hide(); //Bar is being a tad shy

Last and Current

Parallax.js has two special pages that it fills in for you. You can use that just like regular pages.

parallax.bar.left()
parallax.current.ackbar(); //Bar thinks it's a trap!

parallax.foo.top();
parallax.current.ackbar(); //Foo now thinks it's a trap
parallax.last.right(); //Bar slides in from the right

OnLoad and Preload

Sometimes your page just has to run some code when it hits the big screen. We understand. Preload runs before the page animation, onload runs after.

parallax.bar.onload = function(){
			alert( "sweetest function eva!");
		};
parallax.bar.left(); //Fires that function!
parallax.bar.show(); //Also fires it, how cool!

//parallax itself has it's own preload and onload functions
parallax.preload = function(){
	//these get run on -every- page,
	//in addition to the page's onload/preload functions
	alert("Super annoying alert");
};

Protips!

//Remember parallax can be aliased!
p = parallax;

//Using arrow key navigation is super cool
//most users find it very intuitive
$(document).keydown(function(e){
	if (e.keyCode == 37) { //this is the left key,
		p.bar.left();
	}
}); //check out the code of this demo, it has arrow key navigation!
//For reference; 38 - top, 39 - right, 40 - bottom

//Before using .last either check to see if it's null
if(typeof p.last === 'undefined'){
	//handle it here
}
//or set it before hand
p.last = p.foo;

//Movement callbacks and .onload look like they do the same thing
//But they don't!
p.bar.onload = herp();
p.bar.left(derp()); //both herp and derp get run
p.current.show() //only herp gets run



Test
Test
Test
Test