example31_responsive.php HOME Overview (index.php) Buy / Download Ask a question
example32_axZmMode.php

Responsive AJAX-ZOOM Mousehover Zoom / Slider - jQuery Multimedia Extension Ver. 5 with optional 360° Spins, Multilevel 3D, Videos, Product Tour, Hotspots...

Mouseover Zoom loading...

Load different images / 360° set and other API

360 +
images
only
images
only one 360 two 360
or more
only one image one 360 with product tour no 360
no images
only videos

A common situation is that the images in mouseover zoom have to be changed, e.g. depending on color / variants selection of an article. With jQuery.mouseOverZoomInit.replaceImages you can easily change images and / or 360° / videos objects... Click on the text links below the circles to see which code is executed when you click on them. But of course if you use one of our e-commerce modules you do not have to care about this all. This is just in case you want to integrate this AJAX-ZOOM extension somewhere manually.

Alternative AJAX-ZOOM (high resolution zoom view on click) opening methods and few other options

New: "axZmMode" option
- enable - disable
Enabling "axZmMode" option will let the mouseover extension act as most other AJAX-ZOOM examples: the AJAX-ZOOM player is displayed directly inline. Users can zoom in with mouse wheel / pinch zoom without clicking on mouseover image. Accordingly, the mouseover / preview images are not loading. This option were added within this extension primary because of AJAX-ZOOM mouseover extension being already implemented into several e-commerce plugins / modules and it is simply convenient if you want to display AZ like this.
Some other AJAX-ZOOM settings
Enable monitor size fullscreen:
- enable - disable
Disable scroll animation:
- enable - disable
Max zoom on click:
- enable - disable
SpinTo effect:
For 360° / 3D "Product Tour" (on ajax-zoom.com click on the bag)
This will change "ajaxZoomOpenMode" option when "axZmMode" is not enabled
Open AJAX-ZOOM at fullscreen mode
Open AJAX-ZOOM in responsive "Fancybox"
Some mouseover settings
Tint filter:
Mouseover Zoom:
- enabled - disabled
Inner Zoom:
- enabled - disabled
Slider effect:
Prev, next arrows:
- enabled - disabled
Many other configuration options are to find in the documentation below. Within the e-commerce modules, all these options are adjustable in administrator / backend section.

E-Commerce modules

The logotypes below are used for illustration purposes only. AJAX-ZOOM is not affiliated or in partnership with any of the ecommerce software companies represented below. The AJAX-ZOOM extensions / modules / plugins are not official extensions of these companies.

Please be aware, that the e-commerce modules listed above are not needed to use this example. You can implement it manually, wherever.

Integrated 360° / 3D "Product Tour"

This interactive and at the same time guided 360° "Product Tour" is a very user friendly way to present highlights of any product. Thanks to our crop editor such a product tour is very easy and fast to configure. For a trained administrator the process will take less than a minute. Starting with "Prestashop" module, we will update all other ecommerce systems with backend integration for optionally configuring such a product tour... (in case we do not have a module for your system be aware that internally this crop editor can be put into "cms mode" and connected over a controller to any other system without modifications)

Integrated 360° / 3D "Hotspots"

With the help of our hotspot editor you can create multiple hotspots or rectangle image areas, setup several click / mouseover actions for them e.g. links, tooltips, popup lightboxes or bind your own JavaScript functions including AJAX-ZOOM API. The produced JSON type of result for the hotspot configuration can be passed to this mouseover extension manually, however same as with the "Product Tour" the "Hotspot Editor" is integrated into most AJAX-ZOOM ecommerce plugins so you do not have to take care about transfering data anywere but get creative right away.

Compatibility

AJAX-ZOOM works in all modern browsers but is also able to work in legacy IE 7 and IE 8 for the most features. On mobile touch devices AJAX-ZOOM supports pinch-zoom, double tap and two finger pan. On Windows devices, which have a mouse control and touchscreen, AJAX-ZOOM works great as well.

6.0+ 2.0+ >2.0+ 1.0+ 9.5+ 2.0+ 4.0+ Pinch zoom, tap zoom, swipe Windows touchscreen - Chrome, IE, Edge - pinch zoom, tap zoom, swipe

Features (short list)

  • Responsive mouseover area and flyout window with variable or fixed proportions, e.g. 1:1
  • Adjustable for fixed or flexible image proportions
  • Permanent or automatic inner zoom depending on resolution / layout
  • Responsive modal or full screen views on click with AJAX-ZOOM
  • Everything works great on touch devices including mouseover zoom if enabled
  • Optional 360°/3D animations support with (pinch) zoom and full screen view
  • Full multimedia gallery (images, 360°/3D, video) at full screen view
  • Optional responsive thumbnail slider with instant orientation change if set accordingly
  • Fast loading high resolution images, also for 360°/3D animations
  • No need to pre-generate any thumbnails
  • Integrated videos support - Youtube, Vimeo, HTML5
  • Integrated 360°/3D "Product Tour" - very recommendable as it is easy and fast to make
  • Integrated 360°/3D "Hotspots" support
  • Integrated support for "Hotspots" on regular images in full screen / modal view
  • 200+ other options
  • Simple markup (does not need to be adjusted for gallery position any more) - easy integration
  • Localizable
  • All components mainly adjustable over one JavaScript (jQuery) "controller"
  • API, callbacks / hooks for developers of all skill levels
  • Perfect for product presentations and e-commerce
  • Continuous development and improvements, technical support

About this fully responsive mousehover zoom

Prior to Ver. 4.0 of this AJAX-ZOOM mousehover zoom extension it was responsive for the flyout window only. The actual "preview image" was not really responsive. In this new extension everything is absolutely responsive now. A positive side effect caused by the added responsiveness is that a single image can be used as "preview image" - the image which is hovered and the big "flyout image". But this is optional and not necessarily needed.

It has been tested in various Browsers including IE7. Plays nicely with Bootstrap. If you discover any bugs please do not hesitate to report. We will fix them with highest priority.

About 360°/3D rotate

The integrated 360°/3D object spin support is optional! You do not need to have a 360° for every product. However you can put more than one 360° into the gallery.

About 360°/3D hotspots

The extension supports passing hotspots to the player. Hotspots can be made with example33.php. This hotspot editor is integrated directly into the backend of the most AJAX-ZOOM ecommerce plugins.

About 360° / 3D "Product Tour"

The extension supports passing JSON code produces by the special editor which is also integrated into backend of most AJAX-ZOOM ecommerce plugins. The "Product Tour" can be combined with hotspots for the same 360.

About Videos

Ver. 5 of this mouseover zoom extension supports videos as well. Youtube, Vimeo and Dailymotion are lastly integrated over iframe. HTML5 (mp4) videos over video tag with options "videojs" player support. Great for SEO over videos. Vimeo can be used to stream mp4 as paid service.

About Touch Slide

In Ver. 4.1 of this extension there is a new feature for "touch slide" images in order to switch between them. It can be enabled for all devices by setting "noMouseOverZoom" || "noMouseOverZoomTouch" options to true. Starting from Ver. 5 the new "mouseOverZoomHybrid" option together with "noMouseOverZoomTouch" are enabled on default. Thus the user can slide the image with the mouse and see mouseover effect as well at the same time. For touch devices / events mouseover is disabled but could be enabled over options.

Touch slide is also enabled for AJAX-ZOOM in fullscreen view or within responsive fancybox.

About Gallery / Thumbnail Slider

The sliding thumbnail gallery below the mousehover image is optional. It can be replaced or disabled so you have only thumbs floating somewhere else. On default we use jQuery.axZmThumbSlider which is one of AJAX-ZOOM extensions. It is highly configurable, skinable, responsive and touch friendly. You can configure it to be displayed horizontally, vertically or even depending on screen resolution / other factors.

About Fancybox

The version packaged with AJAX-ZOOM is 1.3.4. It was modified to work with AJAX-ZOOM. However everything will also work with Fancybox 2.x which is available separately.

Is this free

In most cases, the answer is lastly nagative.

About AJAX-ZOOM: what makes the difference exactly?

On default only the high resolution "master images" (source images) are needed to be defined (see "images" object / array in the example code below). This "images" object is basically the only thing which needs to be replaced / set dynamically by your application.

All thumbnails and flyout view images are instantly generated by AJAX-ZOOM "image server" which is located at your place (server). The size of the flyout image can be set to e.g. 1200x1200px, which are at most 1.44 Mio. pixels. For a 21 megapixels master image made by e.g. Canon EOS 5D these are around 5-7% of the actual resolution and size.

Alternatively to AJAX-ZOOM PHP based "image server" the paths to these flyout "preview" images can be hardset (see "images" option below) to point to some static (already scaled) images.

By clicking on the lens your users can explore the details of the entire big image with AJAX-ZOOM, which utilizes image tiles technology (simmilar to google maps where the view "gets sharp" when you zoom in), so the big master image never loads into browsers cache; it can be even protected from direct access over http e.g. with .htaccess - (simply put .htaccess file with this code and nothing else into the top directory with your master images: deny from all).

Same as with thumbnails all image tiles can be generated instantly on-the-fly or pregenerated with AJAX-ZOOM special batch tool...

Details about responsiveness

The width of the container in the left column of this responsive page layout is set to 32% of the window width. Consequently the child elements in the left column are 100% width and do change their width instantly depending on window width. So does AJAX-ZOOM mouseover zoom extension.

But what about the height of this mouseover zoom? It can be set to a fixed pixel value; if your responsive layout takes into account the height it can also be set to some variable value; but most likely you would just want to preserve a certain proportion of the height depending on width. In this case just set the new "heightRatio" option e.g. to 1.0 and the height of mouseover will be instantly adjusted making the mouseover square. If your images are mostly portrait orientated (common for fashion retailers), then you could set "heightRatio" value to e.g. 1.5; setting "heightRatio" to 'auto' will set the proportion instantly to the proportion of the actual image. Be aware though that if proportion of the images in the gallery is different the height will change on image switching, which might be unwanted behavior.

Setting "heightRatio" option may result in that the height of the mouseover zoom is bigger than window height and the image is not fully visible. To prevent this you can limit the calculated height with the "maxSizePrc" option. The value of 1.0 would limit the height to 100% of window height; a value of 0.8 to 80% of window height; you can also define two values, e.g. '1.0|-120' which would be window height minus 120px.

This responsive example page layout "collapses" the three column layout when the width of the browser window is less than a certain amount of pixels. This is done over CSS "media queries" and max-width condition which is common in modern templates, e.g. @media only screen and (max-width: 960px){...} With the new options called "heightMaxWidthRatio" and "widthMaxHeightRatio" you can take account of these changes and adjust e.g. "heightRatio" depending on max-width, e.g. heightMaxWidthRatio: ["960|0.8", "700|0.7"]. The above basically means that below 960px of window width the "heightRatio" option turns into 0.8 and below 700px "heightRatio" turns into 0.7;

The "flyout" window with bigger image is set to cover the middle column div (the text over gray background) - "zoomWidth" and "zoomHeight" options of "mouseOverZoomParam" are set to the selector '#middleSideContent' which is simply the id of the middle column. In case the browsers window is less than 960px the design of this example page changes in the way that the width of mouse over image is 100%; consequently there is no room for the flyout window, so this mousehover changes the "position" option of "mouseOverZoomParam" from 'right' to 'inside' (inner zoom).

Notes: this responsive page layout is not well elaborated and is only meant to show how the new responsiveness of AJAX-ZOOM mouseover zoom extension does work. Resize the browser window to see the effect.

JavaScript & CSS files in Head

Please note that depending on configuration not all of these js and css files are needed! See "Dependencies" below;

Show / hide - JavaScript & CSS files in Head

<!-- jQuery core, needed if not already present! -->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<!-- AJAX-ZOOM core, needed! -->
<link href="../axZm/axZm.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../axZm/jquery.axZm.js"></script>

<!-- Include mousewheel script, optional -->
<script type="text/javascript" src="../axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js"></script>

<!-- Include thumbSlider JS & CSS, optional -->
<link href="../axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js"></script>

<!-- Preloading spinner, optional -->
<script type="text/javascript" src="../axZm/plugins/spin/spin.min.js"></script>

<!-- Scripts for 360 crop gallery! Only needed if you use 360 "Product Tour" -->
<script type="text/javascript" src="../axZm/extensions/jquery.axZm.imageCropLoad.js"></script>
<link rel="stylesheet" href="../axZm/extensions/jquery.axZm.expButton.css" type="text/css" />
<script type="text/javascript" src="../axZm/extensions/jquery.axZm.expButton.js"></script>

<!-- AJAX-ZOOM mouse over zoom extension version 5, needed! -->
<link href="../axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.css" type="text/css" rel="stylesheet" />
<!-- Comment out if pngMode is enabled -->
<!--
<link href="../axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomPng.5.css" type="text/css" rel="stylesheet" />
-->

<script type="text/javascript" src="../axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.js"></script>
<script type="text/javascript" src="../axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.5.js"></script>

<!--  Fancybox lightbox javascript, please note: it has been slightly modified for AJAX-ZOOM, only needed if ajaxZoomOpenMode below is set to "fancyboxFullscreen", optional... Fancybox 2 is also supported -->
<link href="../axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js"></script>

<!-- AJAX-ZOOM extension to load AJAX-ZOOM into maximized fancybox, requires jquery.fancybox-1.3.4.css and jquery.fancybox-1.3.4.js, optional -->
<script type="text/javascript" src="../axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js"></script>

<!-- Videojs if used... -->
<link href="//vjs.zencdn.net/5.11.9/video-js.css" rel="stylesheet">
<script src="//vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
<script src="//vjs.zencdn.net/5.11.9/video.js"></script>

		

HTML markup

Please note that the HTML markup has been slightly changed in mousehover zoom extension version 5. It will still work with old layout, however some new responsive features enabled on default will not work as expected which might be indended if you e.g. want the gallery to be displayed completly somewhere else. What you need anyway is the "container for mouse over image" with some unique ID and CSS class "axZm_mouseOverZoomContainer". Also an container for gallery images with an unique ID with optional! CSS class "axZm_mouseOverGallery". Depending on the gallery container having this CSS class named "axZm_mouseOverGallery" additional classes will be added or not added to gallery container. These classes and CSS will be added depending on resolution of the screen and options settings.

Show / hide - HTML markup

<!-- AJAX-ZOOM mouseover block  -->
<div class="axZm_mouseOverWithGalleryContainer">

	<!-- Parent container for offset to the left or right -->
	<div class="axZm_mouseOverZoomContainerWrap">

		<!-- Container for mouse over image -->
		<div id="az_mouseOverZoomContainer" class="axZm_mouseOverZoomContainer">
			<!-- Optional CSS aspect ratio and message to preserve layout before JS is triggered -->
			<div class="axZm_mouseOverAspectRatio">
				<div><span>Mouseover Zoom loading...</span></div>
			</div>
		</div>
	</div>

	<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
	<div id="az_mouseOverZoomGallery" class="axZm_mouseOverGallery"></div>

 </div>
		

Javascript

You do not need all the options below to be listed as most of them are set to their default values.

Show / hide - Javascript

Documentation Mouseover Extension Ver. 5