Overlay
Overlay is a compact, simple overlay class which allows for maximum control over its use.
Download Debut Article Example Usage
Overlay Class
var Overlay = new Class({ Implements: [Options,Events], options: { id: 'overlay', color: '#000', duration: 500, opacity: 0.5, zIndex: 5000/*, onClick: $empty, onClose: $empty, onHide: $empty, onOpen: $empty, onShow: $empty */ }, initialize: function(container,options) { this.setOptions(options); this.container = document.id(container); this.overlay = new Element('div',{ id: this.options.id, opacity: 0, styles: { position: 'absolute', background: this.options.color, left: 0, top: 0, 'z-index': this.options.zIndex }, events: { click: function() { this.fireEvent('click'); }.bind(this) } }).inject(this.container); this.tween = new Fx.Tween(this.overlay,{ duration: this.options.duration, link: 'cancel', property: 'opacity', onStart: function() { this.overlay.setStyles({ width: '100%', height: this.container.getScrollSize().y }); }.bind(this), onComplete: function() { this.fireEvent(this.overlay.get('opacity') == this.options.opacity ? 'show' : 'hide'); }.bind(this) }); }, open: function() { this.fireEvent('open'); this.tween.start(this.options.opacity); return this; }, close: function() { this.fireEvent('close'); this.tween.start(0); return this; } });
Sample Usage
var overlay = new Overlay(document.body,{ id: 'overlay', color: '#000', duration: 300, opacity: 0.4, onClick: function() { this.close(); }, onOpen: function() { //make ajax call while the overlay is happening...? //var Request = new Request().... } });
Arguments
- container: The container of that will host the overlay.
- options: The class' options.
Options
- id: (defaults to 'overlay') The ID of the overlay to be created.
- color: (defaults to '#000') The background color of the overlay.
- duration: (defaults to 500) The open/close duration of the overlay.
- opacity: (defaults to 0.5) The destination opacity level of the overlay.
- zIndex: (defaults to 5000) The z-index of the overlay.
Events
- onClick: Executes when the overlay is clicked
- onClose: Executes when the close directive has been given
- onHide: Executes when the overlay is completely hidden
- onOpen: Executes when open directive is given
- onShow: Executes when overlay has faded into view