jQueryIZIMODAL v1.6.1
Elegant, responsive, flexible and lightweight modal plugin with jQuery.
examples
Others examplesA plugin for perky developers.
Fast
Responsive
Animated
Lightweight
Customizable
Free
Start
CDN › use
NPM › install
npm install izimodal --save
Bower › install
bower install izimodal
GEM › install
gem install izimodal
ICONS › Tested and recommended
One need only incorporate the CSS of icons and use the corresponding class.
HTML › CSS file
Include in the head section.
HTML › JS file
Include before the end of the body. *jQuery is required. Recommended v2.
HTML › In body section
Modal
JS › Initializing
$("#modal").iziModal();
Opening
JS › Event to open the modal
$(document).on('click', '.trigger', function (event) { event.preventDefault(); // $('#modal').iziModal('setZindex', 99999); // $('#modal').iziModal('open', { zindex: 99999 }); $('#modal').iziModal('open'); });
Or you can also use.
HTML › Open the modal
HTML › Open the modal
You can also use this button within the modal to open another modals.
Iframe
HTML
The modal will capture the href of the link responsible for its opening.
Modal
JS › Event to open Modal
If you do not use data-iziModal-open="#modal-name".
$(document).on('click', '.trigger', function (event) { event.preventDefault(); $('#modal-iframe').iziModal('open') // or $('#modal-iframe').iziModal('open', event); // Use "event" to get URL href });
JS › Initializing
iframeURL is optional
$("#modal-iframe").iziModal({ iframe: true, iframeHeight: 800, iframeURL: "http://izimodal.marcelodolza.com" });
Ajax
JS › Ajax opening
Example
//$("#modal").iziModal({ onOpening: function(modal){ modal.startLoading(); $.get('/path/to/file', function(data) { $("#modal .iziModal-content").html(data); modal.stopLoading(); }); } //});
Data Attributes
Trigger › Open
Add data-izimodal-open to any button or link inside or outsite the modal will open it when clicked.
If you are in a modal, it will be automatically closed.
Trigger › Close
Add data-izimodal-close to any button or link inside the modal will close it when clicked.
Trigger › Fullscreen
Add data-izimodal-fullscreen to any button or link inside the modal will expand it when clicked.
Trigger › Next
Closes the current and open the next modal.
Trigger › Previous
Closes the current and open the previous modal.
Data-attributes to modal.
Modal › Group
Add data-izimodal-group to div of the modal for build a group with everyone involved.
You can navigate between them using the < arrow keys >.
Modal › Loop
Sets loop for the same modals in the group.
Options
Default Options (53)
$("#modal").iziModal({ title: '', subtitle: '', headerColor: '#88A0B9', background: null, theme: '', // light icon: null, iconText: null, iconColor: '', rtl: false, width: 600, top: null, bottom: null, borderBottom: true, padding: 0, radius: 3, zindex: 999, iframe: false, iframeHeight: 400, iframeURL: null, focusInput: true, group: '', loop: false, arrowKeys: true, navigateCaption: true, navigateArrows: true, // Boolean, 'closeToModal', 'closeScreenEdge' history: false, restoreDefaultContent: false, autoOpen: 0, // Boolean, Number bodyOverflow: false, fullscreen: false, openFullscreen: false, closeOnEscape: true, closeButton: true, appendTo: 'body', // or false appendToOverlay: 'body', // or false overlay: true, overlayClose: true, overlayColor: 'rgba(0, 0, 0, 0.4)', timeout: false, timeoutProgressbar: false, pauseOnHover: false, timeoutProgressbarColor: 'rgba(255,255,255,0.5)', transitionIn: 'comingIn', transitionOut: 'comingOut', transitionInOverlay: 'fadeIn', transitionOutOverlay: 'fadeOut', onFullscreen: function(){}, onResize: function(){}, onOpening: function(){}, onOpened: function(){}, onClosing: function(){}, onClosed: function(){}, afterRender: function(){} });
Argument | Default value | Description |
---|---|---|
title | '' | Title in modal's header. |
subtitle | '' | Caption below modal's title. |
headerColor | '#6d7d8d' | Color to fill the header background, will also be applied to the bottom edge of the modal. |
background | 'null' | Modal background. |
theme | '' | Theme of the modal, can be empty or "light". |
attached Depreciated | '' | Attach the modal at the top or bottom of the screen. |
appendTo New | '.body' | Where the modal will be placed? |
appendToOverlay New | '.body' | Where the modal overlay will be placed? |
icon | null | Icon class (font-icon of your choice) that will be displayed in modal header. |
iconText | null | Icon text (font-icon using text) that will be displayed in modal header. |
iconColor | '' | Color of the header icon. |
rtl | false | Right To Left option. |
width | 600 | Fixed width of the modal. You can use %, px, em or cm. If not using a measure unity, PX will be assumed as measurement unit. |
top New | null | Top static margin. |
bottom New | null | Bottom static margin. |
borderBottom | true | Enable/disable border bottom. |
padding | 0 | Modal inner margin. |
radius | 3 | Border-radius that will be applied in modal. |
zindex | 999 | The z-index CSS attribute of the modal. |
iframe | false | If true, an Iframe will be used inside the modal. |
iframeHeight | 400 | Fixed height of the iframe. |
iframeURL | null | Address that will open in the iframe inside the modal, if not set, the user can alternatively use the href link responsible for opening it. |
focusInput | true | If set true, whenever you open a modal, the first visible field is active. |
group | '' | Create a group with same 'group' name, so can navigate between them. |
loop | false | It allows loop with modals of the same group. |
arrowKeys New | true | Enable control by arrows keys. |
navigateCaption | true | Displays arrows to navigate. |
navigateArrows | true | Change arrows position to navigate between the modals. It can be: 'closeToModal' or 'closeScreenEdge'. |
history | false | Enable browsing history with hash. |
restoreDefaultContent | false | Reset the modal to default to be opened again. |
autoOpen | 0 or false | If true, the modal opens automatically with any user action. Or you can set a delay time (in milliseconds) to open. |
bodyOverflow | false | Forcing overflow hidden in the document when opening the modal, closing the modal, overflow will be restored. |
fullscreen | false | Show a button in modal header to expand. |
openFullscreen | false | Force to open modal in fullscreen. |
closeOnEscape | true | If set true, you can close the modal only pressing the escape key. |
closeButton New | true | Display close button in the header. |
overlay | true | Enable or disable background overlay. |
overlayClose | true | If set true, the modal will be closed clicking outside of it. |
overlayColor | 'rgba(0,0,0,0.4)' | Color overlay. |
timeout | 0 or false | Amount in milliseconds to close the modal or false to disable. |
timeoutProgressbar | false | Enable timeout progress bar. |
timeoutProgressbarColor | 'rgba(255,255,255,0.5)' | Progress bar color. |
pauseOnHover | false | Pause the progress bar when mouse cursor hover the modal. |
transitionIn | 'comingIn' | Modal opening default transition. Can be: comingIn, bounceInDown, bounceInUp, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX. |
transitionOut | 'comingOut' | Modal closing default transition. Can be: comingOut, bounceOutDown, bounceOutUp, fadeOutDown, fadeOutUp, , fadeOutLeft, fadeOutRight, flipOutX. |
transitionInOverlay | 'fadeIn' | Default transition of overlay opening. |
transitionOutOverlay | 'fadeOut' | Default transition of overlay closure. |
onFullscreen | function() {} | Callback function that will run when the modal enable or disable full screen. |
onResize | function() {} | Callback function that will be executed when a resize occurs. |
onOpening | function() {} | Callback function that will run when opening the modal. |
onOpened | function() {} | Callback function that will run when the modal is open. |
onClosing | function() {} | Callback function that will run when closing the modal. |
onClosed | function() {} | Callback function that will run when the modal is closed. |
afterRender New | function() {} | Callback function that will run when the modal structure is ready. |
Methods
Catching instance of modal
var modal = $('#modal').iziModal(); // then you can use: // modal.iziModal('open');
Open
Opens the modal window.
$('#modal').iziModal('open'); // or with a specific transition of entry. $('#modal').iziModal('open', { transition: 'fadeInDown' // Here transitionIn is the same property. }); // or with a specific transition of entry and output. $('#modal').iziModal('open', { transitionIn: 'bounceInDown' transitionOut: 'bounceOutDown' // TransitionOut will be applied if you have any open modal. });
Close
Closes the modal window.
$('#modal').iziModal('close'); // or with a specific transition of output. $('#modal').iziModal('close', { transition: 'bounceOutDown' // Here transitionOut is the same property. });
Toggle
Change to the opposite of the current state.
$('#modal').iziModal('toggle');
getState
Returns a current state of the modal.
/** * @returns {'closed'|'closing'|'opened'|'opening'} */ $('#modal').iziModal('getState');
getGroup
Returns group information.
$('#modal').iziModal('getGroup');
setGroup
Set a new group name.
$('#modal').iziModal('setGroup', 'alerts');
setContent
New Set a new content to modal.
$('#modal').iziModal('setContent', 'Example
'); // And you can keep this new content by default. $("#modal").iziModal('setContent', { content: 'Example
', default: true })
resetContent
New Returns the default Modal content.
$('#modal').iziModal('resetContent');
setGroup
Set a new group name.
$('#modal').iziModal('setGroup', 'alerts');
Next
Skip to next modal to the same group.
$('#modal').iziModal('next'); // or with a specific transition of output. $('#modal').iziModal('next' ,{ transitionIn: 'bounceInDown' transitionOut: 'bounceOutDown' });
Prev
Skip to previous modal to the same group.
$('#modal').iziModal('prev'); // or with a specific transition of output. $('#modal').iziModal('prev' ,{ transitionIn: 'bounceInDown' transitionOut: 'bounceOutDown' });
Internal Loading
startLoading
Start overlay loading within the modal.
$('#modal').iziModal('startLoading');
stopLoading
Stop overlay loading within the modal.
$('#modal').iziModal('stopLoading');
Progress Control
startProgress
Start progress loading within the modal.
$('#modal').iziModal('startProgress');
pauseProgress
Pause progress loading within the modal.
$('#modal').iziModal('pauseProgress');
resumeProgress
Resume progress loading within the modal.
$('#modal').iziModal('resumeProgress');
resetProgress
Reset progress loading within the modal.
$('#modal').iziModal('resetProgress');
Destroy
Destroys the modal instance.
$('#modal').iziModal('destroy');
setWidth
new Change the width of the modal.
$('#modal').iziModal('setWidth', 800); // '800px', 100%, '100vw'...
setTop
new Change the margin-top of the modal.
$('#modal').iziModal('setTop', 100);
setBottom
new Change the margin-bottom of the modal.
$('#modal').iziModal('setBottom', 100);
setHeader
new Enable/disable Modal header.
$('#modal').iziModal('setHeader', false);
setHeaderColor
Apply the background color in modal header.
$('#modal').iziModal('setHeaderColor', 'color');
setBackground
Apply the Modal background.
$('#modal').iziModal('setBackground', 'black');
setTitle
Change the title of the modal.
$('#modal').iziModal('setTitle', 'Title');
setSubtitle
Change the subtitle of the modal.
$('#modal').iziModal('setSubtitle', 'Subtitle');
setIcon
Change the class of icon.
$('#modal').iziModal('setIcon', 'iconClass');
setIconText
Change the text of font icon.
$('#modal').iziModal('setIconText', 'icon');
setZindex
Change the z-index CSS attribute of the modal.
$('#modal').iziModal('setZindex', 999);
setFullscreen
Enter the full screen mode.
$('#modal').iziModal('setFullscreen', true);
setTransitionIn
Change the Modal opening transition.
$('#modal').iziModal('setTransitionIn', 'comingIn'); // comingIn, bounceInDown, bounceInUp, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX
setTransitionOut
Change the Modal closing transition.
$('#modal').iziModal('setTransitionOut', 'comingOut'); // comingOut, bounceOutDown, bounceOutUp, fadeOutDown, fadeOutUp, , fadeOutLeft, fadeOutRight, flipOutX
Events
Opening
Capture when the modal is opening.
$(document).on('opening', '#modal', function (e) { //console.log('Modal is opening'); });
Opened
Capture when the modal is open.
$(document).on('opened', '#modal', function (e) { //console.log('Modal is opened'); });
Closing
Capture when the modal is closing.
$(document).on('closing', '#modal', function (e) { //console.log('Modal is closing'); });
Closed
Capture when the modal is closed.
$(document).on('closed', '#modal', function (e) { // console.log('Modal is closed'); });
Fullscreen
Capture when the modal enables or disables the full screen.
$(document).on('fullscreen', '#modal-default', function (e, modal) { if(modal.isFullscreen){ // Enabled } else { // Disabled } });
iziModal-group-change
Capture when a modal opens and closes within a group.
$(document).on('iziModal-group-change', function (e, modal) { console.info(modal.in); // Modal that came in. console.info(modal.out); // Modal that came out. });
izimodal - Elegant, responsive, flexible and lightweight modal plugin with jQuery https://t.co/XTLM4MlCYW pic.twitter.com/NOI70BYeIJ
— Speckyboy (@speckyboy) 22 de julho de 2016
iziModal by Marcelo Dolzahttps://t.co/i9OiZ19T4m
— CSS Design Awards (@cssdesignawards) 19 de julho de 2016
Elegant, responsive, flexible & lightweight modal plugin#jQuery pic.twitter.com/01TzcPLH0r
iziModal.js – A Truly Dynamic Modal Window jQuery Plugin https://t.co/9IDZdCUzqs pic.twitter.com/AAiV6k5q2r
— Hongkiat (@hongkiat) 24 de março de 2017
iziModal.js: A Responsive, Flexible jQuery Modal Plugin - https://t.co/jEE5DyhzWv
— JavaScript Daily (@JavaScriptDaily) 24 de julho de 2016
💙 IZIMODAL is in ➡️ 30 JavaScript frameworks and libraries to check out in 2017 via @HeyFlywheel https://t.co/qLofAAT9Oa
— Marcelo Dolza (@marcelodolza) 9 de fevereiro de 2017