jquery.zoom.js是一款非常实用的图片内部缩放和平移jQuery插件。该插件可以鼠标滑过图片,点击图片或移动手机上触摸图片时,将图片进行放大或平移操作。

安装

可以通过npm来安装jquery.zoom.js插件。

npm install jquery-zoom                  
                

使用方法

在页面中引入jquery和jquery-zoom.js文件。

<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery-zoom.js"></script>             
                
HTML结构

可使用<a><span><li><div>等元素来包裹图片。

<span class='zoom' id='ex1'>
  <img src='img/design.jpg' width='555' height='320' alt='web design'/>
  <p>Hover</p>
</span>
                
初始化插件

在DOM元素加载完毕之后,通过zoom()方法来初始化该插件。

$(document).ready(function(){
  $('a.photo').zoom({url: 'photo-big.jpg'});
});

// 或者通过 Colorbox 来放大图片
$(document).ready(function(){
  $('a.photo').zoom({
    url: 'photo-big.jpg', 
    callback: function(){
      $(this).colorbox({href: this.src});
    }
  });
});              
                

要使图片可以被放大,必须将图片包裹在一个容器中,你可以通过js代码来为图片动态添加容器,例如:

$(document).ready(function(){
  $('img')
    .wrap('<span style="display:inline-block"></span>')
    .css('display', 'block')
    .parent()
    .zoom();
});                  
                

可以通过下面的方法来移除图片的放大效果:

$('#example').zoom(); // 添加图片放大效果
$('#example').trigger('zoom.destroy'); // 移除图片放大效果              
                

配置参数

jquery.zoom.js插件的可用配置参数有:

参数 默认值 描述
url false 显示大图的url地址。如果没有提供,默认使用第一个img子元素的url地址。
on 'mouseover' 触发图片放大的事件。可用类型有:mouseover, grab, click, toggle
duration 120 淡入淡出效果的持续时间。
target false 要放大图片的父容器的选择器或DOM元素。
touch true 是否允许移动触摸交互。
magnify 1 1表示图片放大为原尺寸的2倍。
callback false 图片加载时的回调函数。
onZoomIn false 图片放大时的回调函数。
onZoomOut false 图片缩小时的回调函数。

jquery.zoom.js插件的github地址为:https://github.com/jackmoore/zoom