dist/ext/elevatezoom.js

File

			//= require vendor/node_modules/ez-plus/src/jquery.ez-plus
			
			(function(global, undefined) { var kafe = global.kafe, $ = kafe.dependencies.jQuery; kafe.bonify({name:'ext.elevatezoom', version:'0.0.1', obj:(function(){
			
				var
					_container = '.zoomContainer',
					_options   = {}
				;
			
			
			
				/**
				* ### Version 0.0.1
				* Extra methods for the ElevateZoom Plus jQuery plugin.
				*
				* @module kafe.ext
				* @class kafe.ext.elevatezoom
				*/
				var elevatezoom = {};
			
			
				/**
				* Initialize plugin
				*
				* @method init
				* @param {String|jQueryObject|DOMElement} selector Image
				* @param {Object} [options] Options
				*/
				elevatezoom.init = function(selector, options) {
			
					// Non-touch
					if (!Modernizr.touchevents) {
						options         = _.merge({}, _options, options);
						var $img        = $(selector);
						var widthDelta  = $img.get(0).naturalWidth  - $img.width();
						var heightDelta = $img.get(0).naturalHeight - $img.height();
			
						elevatezoom.destroy($img);
			
						// If zoom image is big enough
						if (!$img.data('nozoom') && widthDelta > 20 && heightDelta > 20) {
							$img.ezPlus(options);
						}
			
						// Rebind resize
						var refresh = function() {
							elevatezoom.init($img, options);
						};
			
						$(window).off('resize.zoom').on('resize.zoom', refresh);
					}
				};
			
			
				/**
				* Destroy plugin
				*
				* @method destroy
				* @param {String|jQueryObject|DOMElement} selector Image
				*/
				elevatezoom.destroy = function(selector) {
					$(_container).remove();
					$(selector).removeData('ezPlus');
				};
			
			
				return elevatezoom;
			
			})()}); })(typeof window !== 'undefined' ? window : this);