jQuery image zoom plugin
EasyZoom is an elegant, highly optimised jQuery image zoom and panning plugin based on the original work by Alen Grakalic. EasyZoom supports touch-enabled devices and is easily customisable with CSS.
Use your mouse cursor or finger to zoom and pan the images below.
Photos all by Dag Endre Opedal.
EasyZoom does not rely on a specific markup structure but it is important that the EasyZoom target
element (<div class="easyzoom">) only contains a link to the large image and the
smaller image. Any other elements within the EasyZoom target must not affect its layout, E.G. elements
that are positioned absolutely.
<div class="easyzoom"> <a href="images/zoom.jpg"> <img src="images/standard.jpg" alt="" /> </a> </div>
The EasyZoom target element must 'shrink wrap' the smaller image, this can be achieved either by floating it or by displaying it as an inline block. Extra white space below the image (usually caused by the line box the image sits within) can be removed either by displaying it at block level or changing its position within the line box.
Take a look at the included easyzoom.css for more information on styling EasyZoom.
/* Shrink wrap strategy 1 */ .easyzoom { float: left; } .easyzoom img { display: block; } /* Shrink wrap strategy 2 */ .easyzoom { display: inline-block; } .easyzoom img { vertical-align: bottom; }
The EasyZoom plugin is instantiated as any other jQuery plugin and an instances API can be accessed via element data. EasyZoom is also AMD and CommonJS compatible.
// Instantiate EasyZoom instances var $easyzoom = $('.easyzoom').easyZoom(); // Get an instance API var api = $easyzoom.data('easyZoom');
Global options can be specified via the standard jQuery plugin interface or as data attributes on
individual EasyZoom elements. Remember that camelCase options should be written as hyphen-separated
attributes, for example the preventClicks option would be defined on the element with the
data-prevent-clicks attribute.
"Loading image".
"The image could not be loaded".
2500.
true.
undefined
undefined
undefined
.show([MouseEvent|TouchEvent], [Boolean])
.hide()
.teardown()
.swap(standardSrc, zoomSrc, [srcset])