强大的图片预览组件Viewer.js

简介: 1、 Viewer.js简介2、Viewer.js支持的功能3、Viewer.js的API4 使用方法4.1 引入方式4.2 简单demo5.viewer.js源码,js版本

1、 Viewer.js简介


Viewer.js 是一款强大的图片查看器。我们通过Viewer.js 在页面上添加强大的图片查看功能,同时,这款优秀的插件配置操作起来也非常的方便。


Viewer.js分为2个版本,js版本和jquery版本,下载地址分别为


纯JS版本:https://github.com/fengyuanchen/viewerjs


jQuery 版本:GitHub - fengyuanchen/jquery-viewer: A jQuery plugin wrapper for Viewer.js.、


网上看到有说jquery版本有bug,最后选用啦js版本,demo截图大概如下


9bd00fee8b00ec9b95c0d2fa7785846.png

2、Viewer.js支持的功能


支持移动设备触摸事件

支持响应式

支持放大/缩小

支持旋转(类似微博的图片旋转)

支持水平/垂直翻转

支持图片移动

支持键盘

支持全屏幻灯片模式(可做屏保)

支持缩略图

支持标题显示

支持多种自定义事件


3、Viewer.js的API


名称 类型 默认值 说明
inline 布尔值 FALSE 启用 inline 模式
button 布尔值 TRUE 显示右上角关闭按钮(jQuery 版本无效)
navbar 布尔值/整型 TRUE 显示缩略图导航
title 布尔值/整型 TRUE 显示当前图片的标题(现实 alt 属性及图片尺寸)
toolbar 布尔值/整型 TRUE 显示工具栏
tooltip 布尔值 TRUE 显示缩放百分比
movable 布尔值 TRUE 图片是否可移动
zoomable 布尔值 TRUE 图片是否可缩放
rotatable 布尔值 TRUE 图片是否可旋转
scalable 布尔值 TRUE 图片是否可翻转
transition 布尔值 TRUE 使用 CSS3 过度
fullscreen 布尔值 TRUE 播放时是否全屏
keyboard 布尔值 TRUE 是否支持键盘
interval 整型 5000 播放间隔,单位为毫秒
zoomRatio 浮点型 0.1 鼠标滚动时的缩放比例
minZoomRatio 浮点型 0.01 最小缩放比例
maxZoomRatio 数字 100 最大缩放比例
zIndex 数字 2015 设置图片查看器 modal 模式时的 z-index
zIndexInline 数字 0 设置图片查看器 inline 模式时的 z-index
url 字符串/函数 src 设置大图片的 url
build 函数 null 回调函数,具体查看演示
built 函数 null 回调函数,具体查看演示
show 函数 null 回调函数,具体查看演示
shown 函数 null 回调函数,具体查看演示
hide 函数 null 回调函数,具体查看演示
hidden 函数 null 回调函数,具体查看演示
view 函数 null 回调函数,具体查看演示
viewed 函数 null 回调函数,具体查看演示

4 使用方法


4.1 引入方式


js,jquery版本,直接文件引入

Javascript版:

<link rel="stylesheet" href="css/viewer.min.css"> 
<script src="js/viewer.min.js"></script>

jQuery版

 <link rel="stylesheet" href="css/viewer.min.css">
 <script src="js/jquery.min.js"></script> 
 <script src="js/viewer.min.js"></script>

npm,直接install

npm install viewerjs

4.2 简单demo


这里为我用的是js版本,简单做了一个demo

html代码

<!doctype html>
<html lang="en" ng-app="pharosApp">
<head>
    <meta charset="utf-8">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>图片预览</title>
    <link rel="stylesheet" href="viewer.min.css" />
    <script src="jquery.min.js"></script>
    <script type="text/javascript" src="viewer.min.js"></script>
    <style>
        #viewer {
            padding: 2%;
        }
        #viewer img {
            margin: 1%;
            width: 22.5%;
            height: 200px;
            object-fit:fill;
        }
    </style>
    <script>
        function previewImg() {
            var viewer = new Viewer(document.getElementById('viewer'), {
                button: true,
                inline: false,
                zoomable: true,
                title: true,
                tooltip: true,
                minZoomRatio: 0.5,
                maxZoomRatio: 100,
                movable: true,
                interval: 2000,
                navbar: true,
                loading: true,
                show: function () {
                    viewer.update();
                }
            });
            $("body").on("click", ".viewer-container", function (e) {
                viewer.hide()
            });
            $("body").on("click", ".viewer-canvas", function (e) {
                e.stopPropagation();
            });
            $("body").on("click", ".viewer-footer", function (e) {
                e.stopPropagation();
            });
            $("body").on("click", ".viewer-button", function (e) {
                e.stopPropagation();
            });
            $("body").on("click", ".viewer-tooltip", function (e) {
                e.stopPropagation();
            });
            $("body").on("click", ".viewer-player", function (e) {
                e.stopPropagation();
            });
        }
    </script>
</head>
<body>
    <div id="viewer">
        <img src="1.png" />
        <img src="2.png" />
        <img src="3.png" />
    </div>
</body>
</html>

5.viewer.js源码,js版本


viewer.min.css

/*!
 * Viewer.js v0.3.1
 * https://github.com/fengyuanchen/viewerjs
 *
 * Copyright (c) 2015-2016 Fengyuan Chen
 * Released under the MIT license
 *
 * Date: 2016-02-02T11:35:36.273Z
 */.viewer-container,.viewer-navbar{background-

viewer.min.js

/*!
 * Viewer.js v0.3.1
 * https://github.com/fengyuanchen/viewerjs
 *
 * Copyright (c) 2015-2016 Fengyuan Chen
 * Released under the MIT license
 *
 * Date: 2016-02-02T11:35:52.542Z
 */
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new 
目录
相关文章
|
6月前
|
JavaScript 前端开发
图片预览放大js插件
图片预览放大js插件
32 0
|
8月前
|
JavaScript
js实现图片预览翻页
js实现图片预览翻页
|
移动开发 前端开发 JavaScript
原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理
本文将用一个极简的例子详细讲解如何用原生JS一步步实现完整的图片预览和查看功能,无任何第三方依赖,兼容PC与H5,实现了触屏双指缩放等,干货满满。
原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理
|
JavaScript
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
225 0
|
JavaScript 前端开发
js实现移动端图片预览:手势缩放, 手势拖动,双击放大...
原文:js实现移动端图片预览:手势缩放, 手势拖动,双击放大... 前言本文将介绍如何通过js实现移动端图片预览,包括图片的 预览模式,手势缩放,手势拖动,双击放大等基本功能; 扫码查看示例效果: 代码地址http://pangyongsheng.github.io/imgPreview/ 一、功能介绍   图片预览主要有以下几个功能点组成: 监听图片点击事件,进入图片预览模式 自定义手势事件, (双指缩放,滑动,双击。
3116 0
|
JavaScript 前端开发
js之上传文件多图片预览
多图片上传预览功能也是现在非常常用的 下面是html代码: 测试页面 //下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document.
1183 0
|
Web App开发 JavaScript iOS开发
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
28 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0