API
On this page
Use the API for advanced control over the images, spins and videos in Sirv Media Viewer.
Global API
Method | Parameters | Description |
---|---|---|
Sirv.start | (selector or element) | Starts Sirv instance(s) by DOM query selector, or by HTML element |
Sirv.stop | (selector or element) | Stops Sirv instance(s) by DOM query selector, or by HTML element |
Sirv.on | (event name) | Attach an event handler for Sirv event |
Sirv.off | (event name) | Remove an event handler |
Sirv.getInstance | (selector or element) | Get viewer or lazy image instance by DOM query selector, or by HTML element |
Sirv.viewer.getInstance | (selector or element) | Get viewer instance by DOM query selector, or by HTML element |
Sirv.lazyImage.getInstance | (selector or element) | Get lazy image instance by DOM query selector, or by HTML element |
Example code:
// Start all Sirv instances on the page: Sirv.start(); // Start Sirv instances that match the provided selector: Sirv.start('.product-view .Sirv'); // Attach event handler Sirv.on('viewer:beforeSlideIn', (nextItem) => { console.log(nextItem); });
Viewer API
Method | Parameters | Description |
---|---|---|
isReady | Check if a viewer instance is ready | |
isFullscreen | Check if a viewer instance is in fullscreen | |
fullscreen | Switch to full screen mode | |
next | Switch to next item | |
prev | Switch to previous item | |
jump | (index or item id) | Switch to a particular item by index or by id (data-id) |
play | (delay) | Start viewer autoplay. If the delay argument is passed, it will override the slide.delay setting. |
pause | Pause viewer autoplay | |
items | (filters) | Get viewer items. Filters: { enabled: true } - only enabled items; { enabled: false } - only disabled items. |
itemsCount | (filters) | Get the number of viewer items. Filters: { enabled: true } - only enabled items; { enabled: false } - only disabled items. |
child | (index or item id) | Get reference to a particular item by index or by id (data-id) |
enableItem | (index or item id) | Enable a particular item by index or by id (data-id) |
disableItem | (index or item id) | Disable a particular item by index or by id (data-id) |
insertItem | (DOM element, index) | Add item to the viewer at specified index. If index omitted, add item to the end. |
removeItem | (index or item id) | Remove item from the viewer by index or by id (data-id) |
Example script to replace one gallery with another:
<script> // Check if viewer with `id="my-viewer"` is ready: Sirv.viewer.getInstance('#my-viewer').isReady(); // Switch to the next item: Sirv.viewer.getInstance('#my-viewer').next(); // Disable (exclude) 4th item in the viewer: Sirv.viewer.getInstance('#my-viewer').disableItem(3); </script>
Example script to pause a slide on hover:
<script> // Pause on entry: document.querySelector('#slideshow').addEventListener('mouseenter', () => { Sirv.viewer.getInstance('#slideshow').pause(); }); // Play on exit: document.querySelector('#slideshow').addEventListener('mouseleave', () => { Sirv.viewer.getInstance('#slideshow').play(); }); </script>
Spin API
Method | Parameters | Description |
---|---|---|
isInitialized | Check if Spin instance is initialized | |
isReady | Check if Spin instance is ready | |
play | (duration, type) | Start auto-spin rotation |
pause | Stop autospin | |
rotate | (columns, [rows]) | Rotate by X number of frames on X-axis and/or Y-axis |
rotateX | (frames) | Rotate by X number of frames on X-axis |
rotateY | (frames) | Rotate by X number of frames on Y-axis |
jumpRows | (row) | Jump to a specific row |
jumpCols | (column) | Jump to a specific column |
zoomIn | Zoom in to current frame | |
zoomOut | Zoom out of current frame | |
isZoomed | Check if the current frame is zoomed | |
currentFrame | Get current frame: {rows: XX, cols: XX} |
Example code:
// Check if Spin component spin is initialized: Sirv.getInstance('#my-viewer').child(2).spin.isInitialized(); // Check if Spin component is ready: Sirv.getInstance('.product-view .Sirv').child('spin-item').spin.isReady(); // Start rotate of spin: Sirv.getInstance('#my-viewer').child(2).spin.play(3600, 'row');
Zoom API
Method | Parameters | Description |
---|---|---|
isReady | Check if Zoom instance ready | |
isZoomed | Check if image is zoomed in | |
zoomIn | Zoom in to image. | |
zoomOut | Zoom out of image |
Example code:
// Check if component zoom is ready: Sirv.getInstance('#my-viewer').child(3).zoom.isReady(); // Zoom in to image: Sirv.getInstance('.product-view .Sirv').child('zoom-item').zoom.zoomIn();
Video API
Method | Parameters | Description |
---|---|---|
isReady | Check if video instance is ready |
Example code:
// Check if Video component is ready: Sirv.viewer.getInstance('#my-viewer').child('video-item').video.isReady();
Image API
Method | Parameters | Description |
---|---|---|
isReady | Check if image instance is ready | |
resize | Force image resize |
Example code:
// Check if Image component is ready: Sirv.viewer.getInstance('#my-viewer').child('image-item').image.isReady(); // Force image resize: Sirv.viewer.getInstance('#my-viewer').child(4).image.resize();
Lazy image API
Method | Parameters | Description |
---|---|---|
isReady | Check if lazy image instance is ready | |
resize | Force image resize |
Example code:
// Check if Lazy Image is ready: Sirv.lazyimage.getInstance('#my-lazy-image').isReady(); // Force image resize: Sirv.lazyimage.getInstance('#my-lazy-image').resize();