medium-zoom,一款 JavaScript 图片缩放库

用于缩放图像的JavaScript库,像Medium网的一样。

特征

📱 响应式——可在移动和桌面上扩展
🚀 性能卓越,重量轻——优化至每秒60帧
⚡️ 高清支持——在缩放时加载图像的高清版本
🔎 灵活性——将缩放应用于选定的图像
🖱 鼠标、键盘和手势友好——点击任意位置、按键或滚动以关闭缩放
🎂 事件处理——当缩放进入新状态时触发事件
📦 自定义——设置自己的边距、背景和滚动偏移
🔧 可插拔——将您自己的功能添加到缩放中
💎 自定义模板——扩展默认外观以匹配应用程序的UI
🔌 框架无关——适用于React、Vue、Angular、Svelte、Solid等。

使用方法

npm install medium-zoom

或直接在 HTML中引入

<script src="path/to/medium-zoom.min.js"></script>

然后,为你想要添加缩放功能的图片添加 data-zoomable 属性:

<img src="path/to/your/image.jpg" alt="Your Image" data-zoomable>

这样图片就有了缩放功能。

API

mediumZoom(selector,options)

selector

选择器允许将图像附加到缩放。它可以是以下类型:CSS selectors,HTMLElement,NodeList,Array。

// CSS selector
mediumZoom('[data-zoomable]')

// HTMLElement
mediumZoom(document.querySelector('#cover'))

// NodeList
mediumZoom(document.querySelectorAll('[data-zoomable]'))

// Array
const images = [
  document.querySelector('#cover'),
  ...document.querySelectorAll('[data-zoomable]'),
]

mediumZoom(images)

Option

mediumZoom('[data-zoomable]', {
  margin: 24,
  background: '#BADA55',
  scrollOffset: 0,
  container: '#zoom-container',
  template: '#zoom-template',
})

参考:

https://github.com/francoischalifour/medium-zoom

https://medium-zoom.francoischalifour.com

修改时间 2024-11-23

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
MySQL DATETIME 时间查询和转换
JavaScript 流式传输数据 SSE (Server-Sent Events)
Node.js path 模块
JavaScript 键盘事件
WordPress 按自定义排序的两种方法
JavaScript 窗口/文档事件
Nginx 的 location 设置
Node.js MySQL 连接池和事务