nakajima / modal-overlays

The easiest way to create modal overlays I could muster

This URL has Read+Write access

commit  24bc530b350a5e52fd983b31e72521b4e4a970a0
tree    19f7d1f27ab2fbb37128ae586fc0e757b3c160f6
parent  7e042981746898bef722e7590848b202c7754e81
name age message
file README.textile Loading commit data...
directory example/ Tue Oct 14 23:46:54 -0700 2008 fixed bug where window scroll/resize event hand... [nakajima]
directory src/ Tue Oct 14 23:46:54 -0700 2008 fixed bug where window scroll/resize event hand... [nakajima]
directory vendor/ Tue Oct 14 16:56:15 -0700 2008 here it is [nakajima]
README.textile

Modal Overlays in JavaScript

USAGE

Just call Overlay.create, passing it a “builder” function that
returns the element to put on top of the overlay.

Overlay.create(function() { return new Element(‘h1’).update(“Hello, World!”) });

Your builder function is passed a function that will cancel the
overlay. You can use it like so:

Overlay.create(function(cancel) { var element = new Element(‘div’); var content = new Element(‘p’).update(“Something good.”); var finish = new Element(‘a’, { href: ‘#’ }).update(“Cancel!”); finish.observe(‘click’, cancel); element.insert(content); element.insert(finish); return element; });

Clicking the “finish” link built above will fade the overlay and
allow the user to continue with the task at hand.

You also have access to the background overlay element. This snippet
will make the overlay opaque:

Overlay.create(function(cancel, overlay) { overlay.setOpacity(1); // Make the background DARK! var element = new Element(‘div’); var content = new Element(‘p’).update(“Something good.”); var finish = new Element(‘a’, { href: ‘#’ }).update(“Cancel!”); finish.observe(‘click’, cancel); element.insert(content); element.insert(finish); return element; });

REQUIREMENTS

  • prototype.js
  • effects.js (from script.aculo.us)

© Copyright 2008 Pat Nakajima. All Rights Reserved.