Fast, light and responsive lightbox plugin, for jQuery and Zepto.js.
- Documentation and getting started guide
- Examples and plugin home page
- More examples on CodePen. Feel free to email me more CodePen's, I'd gladly add them to this collection.
- Generated popup JS and CSS files are in folder
dist/
. - Source files are in folder
src/
(edit them if you wish to submit commit). - Website (examples & documentation) is in folder
website/
. - Documentation page itself is in
website/documentation.md
(contributions to it are very welcome).
To compile Magnific Popup by yourself, first of make sure that you have Node.js, Grunt.js, Ruby and Jekyll installed, then:
-
Copy repository
-
Go inside Magnific Popup folder that you fetched and install Node dependencies
cd Magnific-Popup && npm install
-
Now simply run
grunt
to generate JS and CSS in folderdist
and site in folder_site/
.grunt
Optionally:
- Run
grunt watch
to automatically rebuild script when you change files insrc/
or inwebsite/
. - If you don't have and don't want to install Jekyll, run
grunt nosite
to just build JS and CSS files related to popup indist/
.
- Fixed #62 - IE9 HTML5 YouTube player playing audio after pop up closed
- Controls are now removed when there is only one element in gallery.
- Fixed issue that could cause incorrect main event element.
- Public property
items
is now always an array (previously it could be jQuery object collection). - Added
word-break: break-word
to caption.
- Fix #43 - In IE8 whole window becomes black when YouTube iframe is closed.
- Fix #51 - In IE9 YouTube HTML5 video keeps playing after iframe is removed from page.
- Bugfix - box-sizing on IMG in low IE behaves incorrectly.
- Fix #57 - padding on body is not added with overflowY:'scroll'.
- removalDelay option is now ignored in IE.
- Added an option closeOnBgClick.
- Added BeforeChange callback.
- Added AfterChange callback.
- You can now call any public method directly from jQuery DOM element, e.g.:
$('.some-el-with-popup').magnificPopup('methodName', /*, arguments */)
. - Optimized inline module. Now target element is replaced with placeholder only when it has a defined parent node.
inline
type is now set as a default, so you may skip it.- Now content is just replaced when you call
open()
on popup that is already opened.
- Added:
goTo
public method. - Custom events that are added to popup are now not lost when navigating through gallery.
- If
delegate
option is used, events are now dispatched on main element instead of children.
- Added !important to mfp-hide class.
- Fix gallery rendering issue in Opera.
- Fix padding to body with overflow:scroll.
Script is MIT licensed and free and will always be kept this way. But has a small restriction from me - please do not create public WordPress plugin based on it(or at least contact me before creating it), because I will make it and it'll be open source too (want to get notified?).
Created by @dimsemenov & contributors.