viewerjs在vue中实现点击图片预览、切换、缩放、拖拽、旋转等功能

1、下载依赖:

npm i viewerjs

2、定义html结构

html 复制代码
<template>
<div>
  <ul class="artBody">
    <li><img src="picture-1.jpg" alt="Picture 1"></li>
    <li><img src="picture-2.jpg" alt="Picture 2"></li>
    <li><img src="picture-3.jpg" alt="Picture 3"></li>
  </ul>
</div>
</template>

3、入viewerjs插件并创建实例

javascript 复制代码
<script setup>
import Viewer from "viewerjs";
import "viewerjs/dist/viewer.css";

const viewer = ref(null);

onMounted(() => {
  initViewer();
});

const initViewer = () => {
  nextTick(() => {
    if (viewer.value) {
      viewer.value.destroy();
      viewer.value = null;
      return;
    }
    viewer.value = new Viewer(document.querySelector(".artBody"), {
      navbar: true, // 显示导航栏
      toolbar: true, // 显示工具栏
      title: true, // 显示标题
    });
    Array.from(document.querySelector(".artBody")).forEach((val) => {
      val.addEventListener("click", function (e) {
        viewer.show();
        viewer.view(e.target.currentSrc);
      });
    });
  });
};
</script>
  • js中在页面挂载完成后开始创建一个Viewer示例,第一个参数是图片所在的区域,第二个参数为Viewer内置的一些工具栏配置
  • 工具栏选项可在官网查看:viewerjs - npm
相关推荐
_院长大人_1 分钟前
构建一个 Vue 基于el-input的磨损区间选择器组件 —— WearRangeSelector
前端·javascript·vue.js
遗憾随她而去.2 分钟前
前端 Vue 虚拟列表(Virtual List),从原理到实战
前端·javascript·vue.js
看客随心6 分钟前
element-ui table表格 tr间距\行间距设置
vue.js·ui·elementui
竹林81811 分钟前
从零集成RainbowKit:我如何解决多链钱包连接中的“幽灵网络”问题
前端·javascript
痴心阿文19 分钟前
npx create-next-app@latest从Vue迁移的最佳实践
开发语言·前端·javascript
四千岁21 分钟前
极简 WSL2 教程:开发、部署大模型必备
前端·javascript
WebGISer_白茶乌龙桃22 分钟前
基于 Cesium 的 GLB 建筑模型分层分房间点击拾取技术实现
前端·javascript·vue.js·webgl·cesium
紫_龙31 分钟前
最新版vue3+TypeScript开发入门到实战教程之路由详解二
前端·javascript·typescript
嵌入式小能手37 分钟前
飞凌嵌入式ElfBoard-环境变量之添加修改环境变量setenv
服务器·前端·javascript
polarisya37 分钟前
vue组件二次封装
前端·javascript·vue.js