Skip to content

zwebar/native-js-modals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

native-js-modals

Easily create modals without external dependencies.

Demo

For a demo, visit https://bartzweers.github.io/native-js-modals/

Installation and usage

1. Add <script> and <link> tag

<script src="./js/native-modals.min.js"></script> <link href="./css/nmodal.css" rel="stylesheet" type="text/css" media="screen, handheld, projection">

2. Create a modal

<div id="testModal" class="nModal"> <form action=""> <div class="nModal-header">Modal 1</div> <div class="nModal-body">Body of the modal</div> <div class="nModal-buttons"> <a href="" class="nModal-button nModal-button__ok" data-nmodal-callback="callback">Ok</a> <a href="" class="nModal-button nModal-button__cancel">Cancel</a> </div> </form> </div>

2.b or... put in anything you'd like. as long as it follows the following pattern:

<div id="modal"> <form action=""> <!-- Your content here. --> </form> </div>

3. Create a trigger

The data-nmodal attribute refers to the ID of the targeted modal element.

<a href="" data-nmodal="testModal">Click here</a> to open the modal.

4. Initialize

nModal.init({ watch: true });
Property Possible values Function
watch true false Automatically watches for DOM changes and injects newly created/updated modals
backdrop true false Adds a backdrop to the modal
size "small" "large" "max" Assigns a size to the modal

There are also in-line properties you can access when triggering a modal.

<a href="" data-nmodal="testModal" data-nmodal-size="max"> Open a maximised modal that targets #testModal </a>

5. You're done!

If you want to further customize the modal or use callbacks and custom functions, read below.

Customization

Using callbacks

If you want to use a callback, add the data-nmodal-callback attribute to an element within the modal, like so:

<a href="" data-nmodal-callback="callback">Click to activate callback</a>
function callback(formElement){ console.log('Callback called', formElement); nModal.close(); }

The callback is by default called by passing the <form></form> inside the modal, so you can use the data stored in the modal.

About

A simple native javascript plugin to add support for modals with dynamic content.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published