You can control Chocolat using its API.
Once you instanciated Chocolat you can access the api using :
constinstance=Chocolat(document.querySelectorAll('.chocolat-image'), {})constapi=instance.api// or const { api } =Chocolat(document.querySelectorAll('.chocolat-image'), {})// or constapi=Chocolat(document.querySelectorAll('.chocolat-image'), {}).api
Api methods
open([index])
Opens the lightbox on the image whose index is i.
Opens on the first image if index undefined.
Returns a Promise.
// Opens the first imageapi.open() // Opens the 3rd imageapi.open(2).then(() => {console.log('Third image is loaded and animations have finished.')})
close()
Closes the lightbox.
Returns a Promise.
api.close() // orapi.close().then(() => {console.log('Animations have finished and lightbox is closed.')})
prev()
Changes image backward.
Returns a Promise.
api.prev() // orapi.prev().then(() => {console.log('Previous image is loaded and animations have finished.')})
next()
Changes image forward.
Returns a Promise.
api.next() // orapi.next().then(() => {console.log('Next image is loaded and animations have finished.')})
current()
Returns the index of the current image.
api.current() // returns 1, for example
position()
Centers the image in its parent.
Returns a Promise.
// Centers the current imageapi.position().then(() => {console.log('Image is centered and animations have finished.')})
destroy()
Destroys the current instance.
Removes elements, unbinds events, clears data.
api.destroy()
getElem(elementName)
Returns a HTMLElement composing the lightbox.
// Get the `next` arrow elementapi.getElem('right')
get(optionName)
Classic getter
api.get('imageSize') // 'default'
set(optionName, optionValue)
Classic setter
// Changes imageSize to 'contain'api.set('imageSize','contain')// Reposition the image according to the new value `contain`api.position()