JS-jQuery Zoom 使用
本文介绍如何使用 Jquery Zoom 放大图片。
基本使用
1 | <!-- jQuery Required 1.7+ --> |
<img>
标签需置于某个合法的 HTML 标签内,如
<div> <figure> ...
, 而使用
zoom()
的元素应该是 <img>
的
Parent Elemnt
。
启用 zoom:
1 | <figure id="example"> |
1 | /* 最简单的启用方式 */ |
禁用 zoom
以下是zoom的禁用方式。
1 | $('#example').trigger('zoom.destroy'); |
比如你可以使用一个checkbox来控制zoom的启用和关闭。
1 | $("input:checkbox").change(function(){ |
属性值配置
url
zoom
图片源。
值 : false
| URL
默认取 <img>
中的 src
作为放大图片源。当填写具体 url
时将取该 url
作为放大图片源。
使用时可以将像素较低的图片放在 <img src="">
中,像素较高的放在 zoom
属性中。
1 | $('#example').zoom({ |
on
触发 zoom
的方式。
'mouseover'
: 默认值,鼠标经过时放大;'grab'
:鼠标左键保持按下时放大点击的地方,挪出图片区域或松开后复原;'click'
: 鼠标左键点击后保持放大状态,经过时放大经过地方,挪出图片区域保持放大, 跟随鼠标移动的动作放大图片,再次点击后复原;'toggle'
:仅放大鼠标左键点击的地方,再次点击时复原。
建议使用不同触发事件时配合使用不同的 cursor
CSS
样式 作为指示。
duration
渐入渐出时,数值越大渐出越缓慢,默认为120。
内部调用的是 jQuery 的 .fadeTo() ,单位是毫秒。
1 | $('#example').zoom({ |
target
CSS Selector. 通过设定该属性,可以使图片不在原图片显示区域放大,而在选定的 HTML Element 上呈现放大图像,原图像保持不变。
下面的代码将会把放大的图像显示在 id
为
myTarget
的 div
中,而原来的图像保持不变。
1 | <figure id="example"> |
1 | $('#example').zoom({ |
touch
是否启用 touch events, 默认启用。
magnify
放大倍数。默认值为1,即不放大。
1 | $('#example').zoom({ |
callback/onZoomIn/onZoomOut
三个属性用法一样:
callback
:图片加载完成后的回调函数onZoomIn
:图片放大时调用的函数onZoomOut
:图片复原时调用的函数
下面代码将在图片放大时将测试文本变为红色,图片恢复时将测试文本变为黑色。
1 | $('#example').zoom({ |