Description
jQuery LightLayer Plugin is a responsive lightbox & dialog script that fits well with any project on any screen. It provides great experience for users and it’s really quite simple to use. jQuery LightLayer Plugin gives control over many settings. Things like background color, background opacity, box position, open/close transitions and different abilities for closing are part of the options that users can manipulate by themselves. And no matter the content jQuery LightLayer Plugin will always have a proper behavior. It works fine with external websites, video players, maps. And if there is a long content jQuery LightLayer Plugin will use the native scrollbar without scrolling the page behind.
Demo
Options
Customize your popup and then open it!
-
# Default value: #000000
-
Default value: 0.3
-
Default value: 0.1 (Not working on IE)
- Vertical position
(The popup is always horizontally centered.)
- Regular escape
If yes, the user will be able to close the popup by clicking/tapping the X-button in the upper right corner and also outside of the popup, or by pressing Escape button from the keyboard (if on desktop).
Cache
To try how it works, open the popup, fill some data in the inputs and then close it and open it again to see the results.
- State
Working with data
Enter your names and open the popup!
Content
Choose the content you'd like to see!
- Type
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris eget nulla ultrices, porttitor velit eget, elementum metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut convallis fermentum aliquet. Pellentesque congue orci vitae leo commodo, quis feugiat odio iaculis. Cras vel lorem non mauris ornare vestibulum eu blandit purus. Nunc semper eros sit amet diam fermentum, et interdum ipsum euismod. Nam ornare fermentum libero ut varius. Pellentesque convallis mi in ipsum condimentum posuere. Phasellus tincidunt vehicula elit ultrices porta. Integer vel justo ac massa mattis fermentum at ultricies augue. Nunc vitae sollicitudin diam. Pellentesque vitae feugiat dolor. Nullam at justo sodales, sollicitudin eros ut, hendrerit felis. Aliquam et tellus varius, tristique augue luctus, hendrerit mi.
Etiam vel justo ut magna elementum laoreet ac quis lacus. Maecenas tempor augue sed tortor ornare, eget faucibus justo tempor. Aliquam eu nunc nec mauris iaculis malesuada auctor nec nulla. Nam pretium malesuada risus, in scelerisque augue accumsan vehicula. Sed tristique vehicula nisl a ullamcorper. Nulla vitae erat euismod, porttitor arcu tincidunt, pulvinar nulla. Aenean non consectetur sapien, quis tempus nunc. Cras non libero lectus. Aenean eget consequat purus. Duis quis nisi quis ligula accumsan tristique. Vestibulum eros ipsum, porta non nisi eget, condimentum mattis sem.
Quisque at magna enim. Etiam mollis neque at nisl vestibulum tempus. Aenean massa ante, sagittis vel lacinia quis, ultrices id dui. Mauris sed arcu vitae purus bibendum vestibulum. Phasellus mi nulla, tempus in egestas vitae, eleifend sed lacus. Fusce in orci diam. Integer molestie accumsan enim, id sollicitudin arcu ultricies id. Fusce a hendrerit urna. Integer condimentum, felis tempus vestibulum tincidunt, leo ipsum aliquam turpis, eget blandit velit velit eu turpis. Sed vitae faucibus eros. Vivamus urna nunc, congue sed libero eget, scelerisque pulvinar diam. In est nunc, sollicitudin quis faucibus vitae, porta eget nibh. Vivamus egestas aliquet volutpat.
Proin sollicitudin sagittis neque eu facilisis. Nullam consectetur magna vitae elit faucibus pretium. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ac mi pulvinar, laoreet ipsum sed, mollis lorem. Aenean faucibus lectus nec tempus bibendum. Sed tempor enim nec elit lacinia porttitor. Curabitur condimentum porta urna eu elementum. Quisque consequat imperdiet posuere. Cras mollis dui sed libero lacinia, non dictum lacus gravida. Suspendisse semper metus non iaculis volutpat. Morbi elementum aliquet magna eu egestas. Curabitur at porttitor velit. Praesent porttitor facilisis mi, non malesuada eros euismod quis. Vestibulum vestibulum euismod placerat.
Aenean posuere tellus lorem, vel lacinia nulla viverra sollicitudin. Praesent vitae magna molestie, mattis turpis ut, fringilla ligula. Vestibulum eget orci odio. Aenean molestie orci tincidunt elit accumsan sollicitudin. Phasellus lectus dolor, sagittis a est et, ornare luctus dolor. Sed tempor iaculis velit egestas pretium. Integer luctus id tortor sit amet gravida. Vestibulum pretium lacinia iaculis. Sed viverra dolor non augue dapibus fermentum. Aenean iaculis pretium magna, non lacinia ante iaculis vitae. In vel euismod felis, vel adipiscing ipsum. Sed sit amet massa eu tellus scelerisque ullamcorper.
Fusce pharetra, felis vel facilisis interdum, mi dolor facilisis libero, eget interdum magna urna eget arcu. Suspendisse feugiat rhoncus massa vitae varius. Praesent ac feugiat mauris. Ut venenatis metus eu metus varius, non volutpat lorem convallis. Nulla rutrum nibh elit, sed malesuada augue cursus cursus. Phasellus a feugiat leo. Fusce ac suscipit massa, nec dapibus elit. Sed ullamcorper justo consectetur, gravida dolor eu, porttitor orci. Sed euismod posuere massa, nec lacinia nunc rutrum at. Pellentesque ut mauris varius, semper libero a, tristique odio. Phasellus a quam eu elit vulputate molestie a sit amet justo. Morbi quis aliquet nisi. Vivamus in metus porta, condimentum quam a, semper nibh.
Curabitur non odio ipsum. Nullam quis diam nisi. Nullam blandit augue nec urna ullamcorper, quis adipiscing tortor euismod. Praesent aliquam dapibus dui at auctor. Nam in fringilla erat. Nulla nisl ante, semper eget gravida a, volutpat eget elit. Nam tempus lectus sed eleifend venenatis. Vestibulum sagittis ligula felis, vitae luctus urna pulvinar vitae. Nulla sed pretium metus. Nulla nibh nisi, semper nec est quis, blandit imperdiet eros. Nam vel ullamcorper metus, tincidunt sodales leo. Vestibulum eget magna sapien. Nullam pharetra felis a lorem molestie, non varius felis molestie. Etiam vel tincidunt erat, sit amet pellentesque erat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
In id consequat velit. Curabitur mollis mi nulla, et interdum urna tempor et. Mauris mattis nibh non libero lobortis gravida. Nunc sagittis, lacus nec rhoncus pretium, elit justo interdum felis, nec mollis lacus nisl quis lacus. Etiam tempus, eros vel rhoncus auctor, enim tortor viverra justo, luctus lobortis tellus nibh non nisi. Morbi sem purus, fermentum ut est et, feugiat varius erat. Maecenas fermentum diam tortor, quis faucibus turpis gravida sed. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam dictum ligula eget eleifend gravida. Nulla risus orci, scelerisque vel mattis ac, gravida vitae nibh. Fusce quis leo ante. Nunc id molestie est. Integer ac aliquet augue, a ullamcorper enim. Sed posuere velit ut ultricies cursus. Vestibulum sagittis libero non tortor porttitor placerat.
Vestibulum vitae dapibus mauris, vitae pharetra risus. Vestibulum mattis neque et pulvinar accumsan. In non nibh eu felis dignissim dignissim. Donec eu hendrerit libero. Nullam sem tellus, venenatis sed neque ac, varius tincidunt ligula. Cras malesuada interdum dolor, ac fringilla magna porttitor a. Donec dapibus tortor nulla, eget rutrum mi commodo ultricies. Curabitur eu interdum felis. Nunc eget velit sit amet lacus ullamcorper mattis. Vivamus dignissim nisi ut facilisis dignissim. Pellentesque vitae urna id leo lobortis sollicitudin. Ut luctus mi in vestibulum accumsan. Phasellus ac tellus lobortis, consectetur lorem eu, lobortis lectus. Duis nisl diam, pretium quis orci non, commodo faucibus velit.
Sed molestie sapien elementum convallis tempus. Etiam ultrices accumsan metus, eget iaculis risus sagittis sit amet. Quisque vitae diam in turpis mollis euismod quis sit amet massa. Nulla blandit nulla non risus placerat lobortis. Vivamus accumsan luctus ipsum a condimentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras pellentesque est non urna euismod, id viverra velit aliquam. Quisque sed bibendum arcu. Donec arcu eros, congue quis suscipit quis, lacinia ac nisi. Vestibulum justo justo, pellentesque quis ligula et, ultrices mattis tellus.
Phasellus convallis urna nec nunc hendrerit, et semper tellus pharetra. Nunc auctor convallis erat, at fermentum ipsum bibendum nec. Etiam suscipit eleifend semper. Integer ut eros vitae mi fringilla ullamcorper sit amet non velit. Fusce ut dictum purus. Pellentesque eu euismod quam, id iaculis enim. Praesent malesuada vitae mi sed euismod. Vestibulum eleifend nibh velit, sit amet lacinia leo iaculis sed. Praesent quis dictum lacus. Donec ultricies et felis vitae eleifend. Cras id turpis dui. Praesent eget magna velit. Morbi ac risus nec lorem rutrum accumsan. Vestibulum eu orci varius ante aliquet accumsan.
Maecenas pellentesque tellus eu facilisis egestas. Mauris vitae tempus massa. Aenean et diam nec augue accumsan auctor vitae vitae sapien. Nunc porta erat nisl, a fringilla erat tristique ut. Vivamus convallis gravida nulla, ut faucibus lorem. Maecenas ac tortor nec ligula mattis sollicitudin. Ut sed dui sed libero sollicitudin adipiscing nec ut nunc. Sed ac est et felis interdum faucibus eu a sem. Curabitur ante quam, viverra non justo et, commodo ullamcorper lorem.
Etiam tincidunt odio eget augue lacinia tempus. Vestibulum scelerisque vulputate interdum. Nulla diam mi, facilisis nec ultricies sed, placerat ac velit. Vestibulum eget est nec lorem aliquam luctus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed eleifend ultrices leo sed consequat. Mauris scelerisque lobortis eros, sit amet tincidunt sapien varius quis. Integer at sollicitudin dui, vel pharetra ipsum. In molestie tempus elit, at eleifend turpis gravida at. Aenean accumsan sem id tortor mattis venenatis. Vestibulum a tristique diam. Etiam at interdum eros. Proin ultricies nisi a nulla lobortis accumsan. Ut suscipit mauris eget commodo semper. Aliquam et quam est.
Sed adipiscing hendrerit eros, id porttitor nunc varius ac. Nulla molestie malesuada auctor. Nulla varius tristique sagittis. Nullam congue metus eu orci scelerisque mollis. Nunc in lacus mollis, molestie mauris quis, euismod sapien. Integer lacinia sagittis hendrerit. Sed porttitor id lorem ac pretium. Maecenas purus leo, vehicula vitae sem sit amet, luctus ultrices tellus. Nulla facilisi. In hac habitasse platea dictumst. Suspendisse viverra risus in elementum interdum. Mauris quis nulla molestie, fermentum mauris eu, consequat arcu. Vivamus eu hendrerit elit, et sodales elit. Donec eu adipiscing metus.
Quisque ut nunc sagittis, tincidunt nunc iaculis, tempor eros. Morbi euismod, orci mollis adipiscing hendrerit, libero arcu tristique urna, vitae rutrum nibh magna eu ante. Quisque vitae massa non erat iaculis euismod a a elit. Duis ut tincidunt elit. Fusce id elit sed magna pulvinar bibendum id nec neque. Integer venenatis egestas facilisis. Quisque accumsan fermentum est, vitae volutpat sapien facilisis et. Fusce sed elementum dolor. Vestibulum sed erat eu libero ullamcorper vulputate a ac purus. Sed varius egestas enim.
Maecenas in risus eu nulla molestie imperdiet sit amet at magna. Nullam porta adipiscing libero elementum rutrum. Ut dolor dolor, fringilla ut suscipit vitae, vestibulum ut neque. Quisque semper tincidunt nunc eget ultrices. In non mauris bibendum, pretium sapien eget, cursus massa. Nunc vitae iaculis libero, nec mollis odio. Cras ac convallis lacus. Ut feugiat facilisis justo, id volutpat turpis varius vitae. Etiam augue arcu, scelerisque eget molestie id, iaculis sit amet risus. Nunc eu lectus ac arcu aliquet suscipit sed ut diam. Maecenas molestie placerat libero, ac dignissim nulla venenatis sit amet.
Nullam elit risus, rutrum id lacus viverra, congue malesuada ipsum. Proin posuere est aliquam, interdum diam sit amet, scelerisque eros. Morbi mollis sit amet velit vitae fermentum. Vivamus fringilla nibh libero, eget porta leo lacinia ac. Curabitur vel justo turpis. Nunc a nisi mi. Pellentesque ac condimentum lorem, ac tristique tortor.
Suspendisse accumsan justo eget justo laoreet mattis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aenean porttitor bibendum pretium. Sed sit amet ligula ac massa tempor porta non at lectus. Duis egestas metus felis, sed mattis metus dignissim non. Praesent mollis suscipit vulputate. Vivamus ac interdum ipsum. Nam bibendum commodo lacus at semper. Fusce vitae justo eget leo tempor blandit. Etiam sit amet ante magna. In adipiscing non orci quis semper. Quisque nec odio ultrices, sodales urna non, imperdiet velit. Aliquam vulputate, leo a malesuada commodo, justo est vulputate lorem, in dictum mauris leo quis orci. Nulla egestas non enim a congue. Mauris a gravida odio, pretium rhoncus dolor.
Aenean quis risus pellentesque, ultrices massa eget, posuere mauris. Fusce molestie libero cursus dolor gravida cursus. Aenean porta interdum nisl ut convallis. Nullam ultrices augue nulla, sed tincidunt massa blandit a. Duis varius neque nec convallis lobortis. In a volutpat tortor. Donec a tincidunt tortor. Morbi sit amet ipsum sit amet enim eleifend adipiscing eget scelerisque orci. Sed facilisis sagittis sapien at fringilla. Donec pretium, est et luctus porta, est augue facilisis lorem, ac pharetra odio ante eget erat. Aenean congue est at posuere gravida. Maecenas sed felis nec libero varius faucibus sit amet eget turpis. Sed a magna at risus ullamcorper vehicula. Etiam ac sodales purus. In rhoncus justo ultricies egestas lobortis. Morbi venenatis auctor libero.
Fusce diam diam, accumsan in quam vitae, feugiat sollicitudin augue. Proin congue, lacus et ornare ultrices, ligula ipsum posuere lectus, a sollicitudin felis sem quis nibh. Proin porta purus sapien, sed consectetur dolor mollis in. Etiam viverra gravida est, vel tincidunt justo sagittis venenatis. Ut lacus mi, commodo sit amet tincidunt vitae, gravida quis lorem. Aenean convallis nisi in dolor egestas venenatis. Praesent eu turpis metus. Vivamus porttitor tortor vel scelerisque iaculis.
Getting Started
You can download the plugin as an archive.
Or you can grab it by using npm:
npm install lightlayer
Or you can grab it by using Bower:
bower install lightlayer
Installation
Include the script after the jQuery library (unless you package scripts otherwise):
<script src="/path/to/lightlayer.min.js"></script>
Also include the stylesheet for the plugin:
<link type="text/css" rel="stylesheet" href="/path/to/lightlayer.css">
Usage
I. Initialization
$.lightlayer();
This is the most basic way to use jQuery LightLayer Plugin. By doing so the plugin will look for $('#popup') object, so if you're going to keep it simple, make sure you have that one in the DOM. If no such object, nothing will happen.
Of course, you can overwrite the default target by providing a custom one, so that you can use the jQuery LightLayer Plugin for more than one popup.
$.lightlayer({
object: $('#custom_popup')
});
Another way of calling LightLayer is right from a selector, as follows:
$('.popup').lightlayer();
If the selector returns more than one object, the first one will be used. Also, if the object doesn't have an ID, a system one will be given.
II. Options
$.lightlayer({
backgroundColor: '#000000',
opacity: 0.3,
transition: 0.1,
position: 'middle',
escape: true,
cache: true
});
There are several properties for setting some features when initializing the LightLayer. Here's a list of them:
backgroundColor
Determines the background color of the layer behind the opened popup.
Type: string Default value: '#000000' Acceptable values: only HEX colors, no matter with or without the # prefix
opacity
Determines the opacity of the layer behind the opened popup.
Type: number Default value: 0.3 Acceptable values: any number between 0 & 1 (incl.)
transition
Determines the fade in/out transition speed (in seconds) of opening/closing the LightLayer. If set to 0, it will show & hide instantly.
Type: number Default value: 0.1
position
Determines the vertical position of the popup. 'Third' option will keep the popup in ⅓ from the top.
The popups are always horizontally centered.
Type: string Default value: 'middle' Acceptable values: 'top', 'third', 'middle'
escape
Determines if the popup should have the ability to be closed in a regular way or just in a specific one.
If set to true, the user will be able to close the popup by clicking/tapping the X-button in the upper right corner and also outside of the popup, or by pressing Escape button from the keyboard (if on desktop).
Type: boolean Default value: true
cache
Determines if the selected popup should be cached for further calls of the same target or not.
Type: boolean Default value: true
III. Methods
When you have an opened LightLayer, there are several methods that allows manipulation of its environment.
So let's suggest there is an invoked LightLayer.
$.lightlayer({
object: $('#custom_popup'),
opacity: 0.5,
transition: 0,
position: 'third'
});
After that initialization you are able to call the following methods:
backgroundColor()
Changes the background color of the layer behind the opened popup. For example:
$.lightlayer().backgroundColor('FFFFFF');
opacity()
Changes the opacity of the layer behind the opened popup. For example:
$.lightlayer().opacity(1);
position()
Changes the vertical position of the popup. For example:
$.lightlayer().position('top');
escape()
Turns on/off the ability of a popup to be closed in a regular way or just in a specific one. For example:
$.lightlayer().escape(false);
change()
Changes more than one option by passing an object with parameters. For example:
$.lightlayer().change({
backgroundColor: '#FFFFFF',
opacity: 1,
position: 'top',
escape: false
});
exit()
Exits from LightLayer. For example:
$.lightlayer().exit();
IV. Callbacks
Besides the object and all options, there аre few callback functions that can be also passed to the LightLayer. Here's a list of them:
onOpen( e, popup )
Triggers right before showing a popup.
$.lightlayer({
onOpen: function( e, popup ) {
// do something
}
});
onClose( e, popup )
Triggers right after hiding a popup.
$.lightlayer({
onClose: function( e, popup ) {
// do something
}
});
onChangeBackgroundColor( e, data )
Triggers when changing the background color of the layer behind the opened popup.
$.lightlayer({
onChangeBackgroundColor: function( e, data ) {
// do something
}
});
onChangeOpacity( e, data )
Triggers when changing the opacity of the layer behind the opened popup.
$.lightlayer({
onChangeOpacity: function( e, data ) {
// do something
}
});
onChangePosition( e, data )
Triggers when changing the vertical position of the popup.
$.lightlayer({
onChangePosition: function( e, data ) {
// do something
}
});
onChangeEscape( e, data )
Triggers when changing the escape ability.
$.lightlayer({
onChangeEscape: function( e, data ) {
// do something
}
});
onChangeSettings( e, data )
Triggers when changing multiple settings.
$.lightlayer({
onChangeSettings: function( e, data ) {
// do something
}
});
Browsers compatibility
- Apple Safari
- Google Chrome
- Microsoft Internet Explorer 9+
- Mozilla Firefox
- Opera