图片/图形

ImageViewer 仿谷歌图片缩放平移预览jQuery插件

阿里云


ImageViewer 是一款仿谷歌图片的图片缩放和平移特效 jQuery 插件。ImageViewer 有 3 种图片查看模式:全屏模式、容器模式和图片模式。3 种模式下都可以对图片进行缩放和平移来预览图片。它的特点还有:

可以平滑的拖动和平移图片

也想出现在这里?联系我们
创客主机

支持移动触摸设备

移动手机中 2 次触摸图片可以在图片放大和图片缩小之间进行切换

移动手机中可以使用手势来缩放图片

快速加载缩略图,并异步加载高质量大图

允许以 API 编程的方式控制缩放

使用方法

使用该图片查看插件需要引入 jQuery 和 imageviewer.min.js 以及 imageviewer.css 文件。

  1. <link rel="stylesheet" href="js/imageviewer.css">
  2. <script src="js/jquery.min.js"></script>
  3. <script src="js/imageviewer.min.js"></script>

全屏模式

全屏模式的 HTML 结构如下:

  1. <div id="image-gallery-1" class="cf">
  2.     <img src="assets/images/image_viewer/1.jpg"
  3.          data-high-res-src="assets/images/image_viewer/1_big.jpg" alt="" class="gallery-items">
  4.     <img src="assets/images/image_viewer/2.jpg"
  5.          data-high-res-src="assets/images/image_viewer/2_big.jpg" alt="" class="gallery-items">
  6.     <img src="assets/images/image_viewer/3.jpg"
  7.          data-high-res-src="assets/images/image_viewer/3_big.jpg" alt="" class="gallery-items">
  8.     <img src="assets/images/image_viewer/4.jpg"
  9.          data-high-res-src="assets/images/image_viewer/4_big.jpg" alt="" class="gallery-items">
  10. </div>

初始化方法:

  1. $(function () {
  2.     var viewer = ImageViewer();
  3.     $('.gallery-items').click(function () {
  4.         var imgSrc = this.src,
  5.             highResolutionImage = $(this).data('high-res-img');
  6.  
  7.         viewer.show(imgSrc, highResolutionImage);
  8.     });
  9. });

容器模式

  1. <div id="image-gallery-2">
  2.     <div class="image-container"></div>
  3.     <img src="assets/images/left.svg" class="prev"/>
  4.     <img src="assets/images/right.svg"  class="next"/>
  5.     <div class="footer-info">
  6.         <span class="current"></span>/<span class="total"></span>
  7.     </div>
  8. </div>

初始化方法

  1. $(function () {
  2.     var images = [{
  3.         small : 'assets/images/image_viewer/1.jpg',
  4.         big : 'assets/images/image_viewer/1_big.jpg'
  5.     },{
  6.         small : 'assets/images/image_viewer/2.jpg',
  7.         big : 'assets/images/image_viewer/2_big.jpg'
  8.     },{
  9.         small : 'assets/images/image_viewer/3.jpg',
  10.         big : 'assets/images/image_viewer/3_big.jpg'
  11.     },{
  12.         small : 'assets/images/image_viewer/4.jpg',
  13.         big : 'assets/images/image_viewer/4_big.jpg'
  14.     }];
  15.  
  16.     var curImageIdx = 1,
  17.         total = images.length;
  18.     var wrapper = $('#image-gallery-2'),
  19.         curSpan = wrapper.find('.current');
  20.     var viewer = ImageViewer(wrapper.find('.image-container'));
  21.  
  22.     //display total count
  23.     wrapper.find('.total').html(total);
  24.  
  25.     function showImage(){
  26.         var imgObj = images[curImageIdx - 1];
  27.         viewer.load(imgObj.small, imgObj.big);
  28.         curSpan.html(curImageIdx);
  29.     }
  30.  
  31.     wrapper.find('.next').click(function(){
  32.          curImageIdx++;
  33.         if(curImageIdx > total) curImageIdx = 1;
  34.         showImage();
  35.     });
  36.  
  37.     wrapper.find('.prev').click(function(){
  38.          curImageIdx--;
  39.         if(curImageIdx < 0) curImageIdx = total;
  40.         showImage();
  41.     });
  42.  
  43.     //initially show image
  44.     showImage();
  45. });

图片模式

  1. <div id="image-gallery-3" class="cf">
  2.     <img src="assets/images/image_viewer/1.jpg"
  3.               data-high-res-src="assets/images/image_viewer/1_big.jpg" alt="" class="pannable-image">
  4.     <img src="assets/images/image_viewer/2.jpg"
  5.               data-high-res-src="assets/images/image_viewer/2_big.jpg" alt="" class="pannable-image">
  6. </div>

初始化方法

  1. $(function () {
  2.     $('.pannable-image').ImageViewer();
  3. });

配置参数

ImageViewer 函数:

  1. // container 和 options都是可选参数
  2. var viewer = ImageViewer(container, options);

container 可以是选择器字符串,jQuery 对象或 DOM 对象。ImageViewer 会返回一个 viewer 实例对象,可以使用它来调用方法。
传入参数的格式为:

  1. var viewer = ImageViewer('#container',{
  2.     maxZoom : 400
  3. });

可用的配置参数有:

参数 允许值 默认值 描述
zoomValue 百分比值 100 定义图片初始化是的百分比值
maxZoom 百分比值 500 图片最大可以缩放的百分比值
snapView boolean true 是否显示 snap 视图
refreshOnResize boolean true 在浏览器窗口大小改变的时候是否刷新 viewer

方法

zoom(zoomValue,point):通过代码来缩放图片。

zoomValue:缩放的百分比值

point:缩放中心的点坐标{x,y}。如果没有定义使用容器的中心作为缩放的中心。

  1. viewer.zoom(300, {x:500, y: 500});

resetZoom():根据参数(Options)中给定的值来重置缩放值。

  1. viewer.resetZoom();

refresh():刷新 viewer。

  1. viewer.refresh();

show(imgSrc, highResImg):显示全屏模式的图片预览。(只有插件使用全屏模式来初始化时才有效)

imgSrc:小图的 URL 地址

highResImg:同一张图片的高质量版本。

  1. viewer.show('image1.png','hi-res-image1.png');

hide():隐藏全屏模式 viewer。(只有插件使用全屏模式来初始化时才有效)

  1. viewer.hide();

load(imgSrc, highResImg):在 viewer 中加载一张图片。在全屏模式和容器模式中都有效。

imgSrc:小图的 URL 地址

highResImg:同一张图片的高质量版本

  1. viewer.load('image1.png','hi-res-image1.png');

destroy():销毁实例以及绑定的事件。

  1. viewer = viewer.destroy();

Github 地址:https://github.com/s-yadav/ImageViewer

ImageViewer 仿谷歌图片缩放平移预览 jQuery 插件

已有 363 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!