纯JavaScript炫酷鼠标滑过图片放大镜特效插件

当前位置:主页 > jQuery库 > 图片效果 > 纯JavaScript炫酷鼠标滑过图片放大镜特效插件
纯JavaScript炫酷鼠标滑过图片放大镜特效插件
分享:

    插件介绍

    这是一款轻量级的纯JavaScript炫酷鼠标滑过图片放大特效插件。该插件有两种显示形式:鼠标点击和鼠标滑过。两种方式都可以制作出图片放大镜效果,并且还可以将这两种放大镜效果结合在一起使用。

    浏览器兼容性

    浏览器兼容性
    时间:01-13
    阅读:
简要教程

这是一款轻量级的纯JavaScript炫酷鼠标滑过图片放大特效插件。该插件有两种显示形式:鼠标点击和鼠标滑过。两种方式都可以制作出图片放大镜效果,并且还可以将这两种放大镜效果结合在一起使用。

安装

可以通过NPM或Bower来安装Drift插件。

npm install drift-zoom
bower install drift                
              

使用方法

Luminous鼠标点击放大镜效果

下载压缩包,在页面中引入Luminous.js和luminous-basic.css文件。

<link rel="stylesheet" media="screen, projection" href="dist/luminous-basic.css">              
<script src="dist/Luminous.js"></script>                
              

Luminous放大镜效果的HTML结构是使用一个超链接元素来包裹一张图片,超链接的地址是高清大图的地址,图片指向的是缩略图。

<a class="demo-trigger" href="img/wristwatch.jpg">
  <img src="img/wristwatch-thumb.jpg">
</a>                
              

完成上面的操作之后,可以通过下面的JS代码来进行初始化。

var demoTrigger = document.querySelector('.demo-trigger');
new Luminous(demoTrigger);                
              
Drift鼠标滑过放大镜效果

下载压缩包,在页面中引入Drift.js和drift-basic.css文件。

<link rel="stylesheet" media="screen, projection" href="dist/drift-basic.css">              
<script src="dist/Drift.js"></script>                
              

Drift图片放大镜的HTML结果和Luminous放大镜的区别是它使用data-zoom属性来作为高清大图。

<img class="demo-trigger" 
     src="img/wristwatch-thumb.jpg" 
     data-zoom="img/wristwatch-hd.jpg">                
              

初始化Drift图片放大镜插件。

var demoTrigger = document.querySelector('.demo-trigger');
new Drift(demoTrigger);               
              
结合使用Luminous和Drift

Luminous和Drift图片放大镜效果可以结合在一起使用。例如DEMO3的HTML结构如下:

<div class="wrapper">
  <a class="demo-trigger" href="img/vintagecameras-hd.jpg">
    <img src="img/vintagecameras-thumb.jpg">
  </a>

  <div class="detail">
    <section>
      <h1>......</h1>
      <p>......</p>
    </section>
  </div>
</div>                
              

初始化的方法如下:

var demoTrigger = document.querySelector('.demo-trigger');
new Drift(demoTrigger, {
    paneContainer: document.querySelector('.detail'),
    inlinePane: 900,
    inlineOffsetY: -85,
    containInline: true,
    sourceAttribute: 'href'
});
new Luminous(demoTrigger);                
              

配置参数

  • namespace:生成元素的class名称前缀。默认值:null
  • showWhitespaceAtEdges:当接近边部时ZoomPane是否显示白边,默认值是false。
  • containInline:内部的ZoomPane是否在内部。默认值为false。
  • inlineOffsetXinlineOffsetY:How much to offset the ZoomPane from the interaction point when inline.
  • sourceAttribute:用于指向大图的属性,默认值为:data-zoom
  • zoomFactor:图片放大倍数。默认值为3。
  • paneContainer:添加到非内部放大镜上面的DOM元素。默认值为:document.body
  • inlinePane:合适切换到内部放大镜模式。这个取值可以是一个布尔值或一个整数。如果为true,将一直是内部放大镜模式,如果为false,将在`windowWidth <= inlinePane时切换到内部放大镜模式。默认值为375。
  • handleTouch:如果为true,touch事件将被启用。
  • onShow:ZoomPane显示时触发。
  • onHide:ZoomPane隐藏时触发。
  • injectBaseStyles:在页面中添加基本的样式。

Drift插件的github地址为:https://github.com/imgix/drift