Ver. 4.2.1+ This example has been totally rewritten. It does not contain indispensable PHP code within the actual page any more. Also all JavaScript has been wrapped into one plugin (jQuery.axZm.thumbGallery) which is controllable over various options passed to it.
With the below configurations the plugin gets all image paths from "zoomDir" option value, instantly generates thumbnails and lists them in a container. When the user clicks on the thumb AJAX-ZOOM image player opens in a configurable lightbox or fullscreen.
$.axZm.thumbGallery is commented and could be edited by interesting programmers. The plugin is used in several other examples you might want to take a look at1.
Open AJAX-ZOOM at fullscreen mode | |
Open AJAX-ZOOM in responsive "Fancybox" | |
Open AJAX-ZOOM in regular "Fancybox" | |
Open AJAX-ZOOM in "Colorbox" | |
| Enable monitor size fullscreen: - enable - disable |
| Thumbs per page: |
<!-- jQuery core, needed! --> <script type="text/javascript" src="../axZm/plugins/jquery-1.8.3.min.js"></script> <!-- AJAX-ZOOM core, needed! --> <link rel="stylesheet" href="../axZm/axZm.css" type="text/css"> <script type="text/javascript" src="../axZm/jquery.axZm.js"></script> <!-- AJAX-ZOOM thumbGallery extension, needed! --> <link rel="stylesheet" href="../axZm/extensions/jquery.axZm.thumbGallery.css" type="text/css"> <script type="text/javascript" src="../axZm/extensions/jquery.axZm.thumbGallery.js"></script> <!-- Fancybox lightbox javascript, please note: it has been slightly modified for AJAX-ZOOM, only needed if ajaxZoomOpenMode below is set to "fancyboxFullscreen" or "fancybox", optional --> <link rel="stylesheet" href="../axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css" media="screen" 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> <!-- Colorbox plugin, only needed if ajaxZoomOpenMode below is set to "colorbox", optional --> <link rel="stylesheet" href="../axZm/plugins/demo/colorbox/example1/colorbox.css" media="screen" type="text/css"> <script type="text/javascript" src="../axZm/plugins/demo/colorbox/jquery.colorbox-min.js"></script>
<!-- Container where subfolders will be loaded into --> <div id="selectParentContainer" class="clearfix" style="margin-bottom: 10px; padding-bottom: 3px;" ></div> <!-- Container where thumbs will be loaded into --> <div id="thumbsParentContainer" class="clearfix" style="min-height: 150px; clear: both"></div>
jQuery.azThumbGallery({ axZmPath: "auto", // Path to /axZm directory, e.g. /test/axZm/ zoomDir: "/pic/zoom/fashion", // Path to subfolders with images folderSelect: false, // Possible values: "select", "folders", "imgFolders" or false axZmCallBacks: {}, // AJAX-ZOOM has several callbacks, http://www.ajax-zoom.com/index.php?cid=docs#onBeforeStart fullScreenApi: false, // try to open AJAX-ZOOM at browsers fullscreen mode thumbsCache: true, // cache thumbnails thumbWidth: 100, // width of the thumbnail image thumbHeight: 100, // height of the thumbnail image thumbQual: 90, // jpg quality of the thumbnail image thumbMode: false, // possible values: "contain", "cover" or false thumbBackColor: "#ffffff", // background color of the thumb if thumbMode is set to "contain" thumbPadding: 10, // Padding thumbMarginRight: 12, thumbMarginBottom: 12, thumbsPerPage: 10, // Show this number of thumbnails at once thumbRetina: true, // true will double the resolution of the thumbnails thumbPreloadingImg: "ajax-loader-map-white.gif", // image located in /axZm/icons folder which is shown befor thumbnail is loaded thumbsContainer: "thumbsParentContainer", // ID of the element where thumbnails appended to selectContainer: "selectParentContainer", // ID of the element where the select with subfolders will be appended to ajaxZoomOpenMode: "fancybox", // possible values: "fullscreen", "fancyboxFullscreen", "fancybox", "colorbox" exampleFullscreen: "mouseOverExtension", // configuration set which is passed to ajax-zoom when ajaxZoomOpenMode is "fullscreen" exampleFancyboxFullscreen: "mouseOverExtension", // configuration set which is passed to ajax-zoom when ajaxZoomOpenMode is "fancyboxFullscreen" exampleFancybox: 2, // configuration set which is passed to ajax-zoom when ajaxZoomOpenMode is "fancybox" exampleColorbox: "modal" // configuration set which is passed to ajax-zoom when ajaxZoomOpenMode is "colorbox" });
Option | Default | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
axZmPath | 'auto' | Path to /axZm directory, e.g. /test/axZm/ | |||||||||||||||||||||||||||
folderSelect | 'select' | The look of navigation for subfolders. Only useable if "zoomDir" is defined (not with "zoomData"). Possible values: "select", "folders", "imgFolders" or false | |||||||||||||||||||||||||||
zoomDir | null | Path to subfolders with images; If "folderSelect" is set to false, then you can define the path directly to some folder with images. | |||||||||||||||||||||||||||
firstFolder | null | After page loads select from which "zoomDir" subfolder thumbnails should be loaded first, integer (index of subfolder) or string (name of the subfolder). If nothitng is defined and there is no hash value (see "setHash" option below), then first subfolder is selected instantly. | |||||||||||||||||||||||||||
zoomData | null | Alternativly to "zoomDir" where all images from a folder or subfolders are loaded, you can define several images from different folders. Here "zoomData" can be CSV string separated with "|"; it can also be an array or it can be an object where property values are the paths of the images. | |||||||||||||||||||||||||||
folderIconPrefix | 'folder_icon_' | Applied if folderSelect is set to "folders". Value is the prefix of icon image located in /axZm/icons directory. On default the three icons are: folder_icon_close.png, folder_icon_close_over.png, folder_icon_open.png | |||||||||||||||||||||||||||
imgFoldersSettings | {} |
This option is applied only if the value of "folderSelect" option is "imgFolders".
| |||||||||||||||||||||||||||
folderNameFunc | function |
This is a "filter" function for the titles of the subfolders.
The first argument passed to the function is the name of the subfolder from the file system.
This input string can be changed and returned in a different way.
On default this function makes first letter uppercase, replaces _ (underscore) to empty space
and truncates the resulting string to max. 15 characters. If you do not want to have any changes,
simply set folderNameFunc to function(input){return input;}
| |||||||||||||||||||||||||||
axZmCallBacks | {} | AJAX-ZOOM has several callbacks, http://www.ajax-zoom.com/index.php?cid=docs#onBeforeStart | |||||||||||||||||||||||||||
fullScreenApi | false | Try to open AJAX-ZOOM at browsers fullscreen mode, possible on modern browsers except IE < 10 and mobile | |||||||||||||||||||||||||||
setHash | false | Set location hash when users navigate between the folders. Setting the location hash will result in switching between folders when the user hits browser backword button. Also if the location address is copied with the hash, opening it again will load this folder at first. | |||||||||||||||||||||||||||
thumbWidth | 120 | Width of the thumbnail image | |||||||||||||||||||||||||||
thumbHeight | 120 | Height of the thumbnail image | |||||||||||||||||||||||||||
thumbRetina | true | true will double the resolution of the thumbnails images but keep "thumbWidth" and "thumbHeight" on screen | |||||||||||||||||||||||||||
thumbsCache | true | Cache thumbnails | |||||||||||||||||||||||||||
thumbQual | 90 | jpg quality of the thumbnail image | |||||||||||||||||||||||||||
thumbMode | false | possible values: "contain", "cover" or false | |||||||||||||||||||||||||||
thumbBackColor | '#FFFFFF' | Background color of the thumb if "thumbMode" is set to "contain" | |||||||||||||||||||||||||||
thumbPadding | null | Quickly overwrite the css padding of the thumbs | |||||||||||||||||||||||||||
thumbMarginRight | null | Quickly overwride the css margin to the right of the thumbs | |||||||||||||||||||||||||||
thumbMarginBottom | null | Quickly overwride the css margin to the bottom of the thumbs | |||||||||||||||||||||||||||
thumbCss | {} | Quickly overwride any other CSS | |||||||||||||||||||||||||||
thumbPreloadingImg | 'ajax-loader-map-white.gif' | Image located in /axZm/icons directory which will appear before the thumbs are loaded | |||||||||||||||||||||||||||
thumbDescr | [] | array; poaaible array elements: fileName, thumbDescr, fullDescr; thumbDescr and fullDescr are returned from AJAX-ZOOM for regular thumbs. On default thumbDescr returns resolution of the original image. It is adjustable in /axZm/zoomConfig.inc.php or /axZm/zoomConfigCustom.inc.php over $zoom['config']['galleryThumbDesc'] and $zoom['config']['galleryThumbFullDesc'] options. | |||||||||||||||||||||||||||
thumbDescrJoin | '<br>' | If thumbDescr has more than one elemets, they will be splitted by this string | |||||||||||||||||||||||||||
thumbDescrTruncate | false | integer - truncate each of the descriptions adding [...] or false | |||||||||||||||||||||||||||
thumbsPerPage | null | In case the number of thumbs will exceed "thumbsPerPage" value, the extension will append "page numbers" under the thumbs. null disables the feature. | |||||||||||||||||||||||||||
thumbsContainer | 'thumbsParentContainer' | ID of the container where thumbs should be inserted. Container can be responsive. | |||||||||||||||||||||||||||
selectContainer | 'selectParentContainer' | ID of the container where folders navigation - "folderSelect" should be inserted. Container can be responsive. | |||||||||||||||||||||||||||
ajaxZoomOpenMode | 'fullscreen' |
Determines how AJAX-ZOOM is opened when the user clicks on the image thumbs,
possible values:
| |||||||||||||||||||||||||||
exampleFullscreen | 'mouseOverExtension' | Configuration set 2 which is passed to AJAX-ZOOM when "ajaxZoomOpenMode" is 'fullscreen' | |||||||||||||||||||||||||||
exampleFancyboxFullscreen | 'mouseOverExtension' | Configuration set 2 which is passed to AJAX-ZOOM when "ajaxZoomOpenMode" is 'fancyboxFullscreen' | |||||||||||||||||||||||||||
exampleFancybox | 'modal' | Configuration set 2 which is passed to AJAX-ZOOM when "ajaxZoomOpenMode" is 'fancybox' | |||||||||||||||||||||||||||
exampleColorbox | 'modal' | Configuration set 2 which is passed to AJAX-ZOOM when "ajaxZoomOpenMode" is 'colorbox' | |||||||||||||||||||||||||||
fancyBoxParam | {} | If fancybox is used in "ajaxZoomOpenMode" option, Fancybox options | |||||||||||||||||||||||||||
colorBoxParam | {} | If colorbox is used in "ajaxZoomOpenMode" option, Colorbox options | |||||||||||||||||||||||||||
embedMode | false | Display AJAX-ZOOM next to the thumbs | |||||||||||||||||||||||||||
embedDivID | '' | ID of the container where AJAX-ZOOM player in "embedMode" should be inserted. In case "embedDivID" is a responsive container, please set "embedResponsive" to true! | |||||||||||||||||||||||||||
embedResponsive | false | If "embedDivID" is responsive, you should enable this option. | |||||||||||||||||||||||||||
embedExample | 9 | Configuration set 1 which is passed to AJAX-ZOOM when "embedMode" is enabled | |||||||||||||||||||||||||||
embedZoomSwitchAnm | 'SwipeHorz' | When clicked on the thumbs the image inside AJAX-ZOOM will be switched with one of the following effects: "Center", "Top", "Right", "Bottom", "Left", "StretchVert", "StretchHorz", "SwipeHorz", "SwipeVert", "Vert", "Horz"; | |||||||||||||||||||||||||||
embedZoomSwitchSpeed | 300 | Set speed (duration) of switching, overrides following AJAX-ZOOM internal options: galleryFadeInSpeed, galleryInnerFade, gallerySlideSwipeSpeed; set to "embedZoomSwitchSpeed" to diable this overriding. | |||||||||||||||||||||||||||
embedSwitchWithPage | true | If "thumbsPerPage" is activated and page numbers are present, then clicking on the page number will switch to the first shown image on that page. | |||||||||||||||||||||||||||
embedFirstImage | 1 | When gallery loads first the index (number) or file name which should be loaded first. See also "firstFolder" option in case applied. |
elseif ($_GET['example'] == [someValue])