# 让GIF可以暂停播放 **Repository Path**: zhangxinxu/gif-pause ## Basic Information - **Project Name**: 让GIF可以暂停播放 - **Description**: 可以让GIF图片点击后暂停播放 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.zhangxinxu.com/wordpress/?p=10830 - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 1 - **Created**: 2023-05-06 - **Last Updated**: 2024-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 让GIF可以暂停播放 ### 介绍 可以让GIF图片点击后暂停播放,基于 ImageDecoder 实现的。 #### 演示demo 访问这里:https://zhangxinxu.gitee.io/gif-pause/ ### 使用说明 1. 引入对应的 JS 文件,例如: ```html ``` 2. 对应的GIF图像元素进行调用: ```js renderGif(eleImage); ``` ### 语法和参数 #### 语法 ```js const player = renderGif(data, options); ``` #### 参数 **data** ```data``` 参数可缺省,如果不设置,表示获取当前页面中所有以 '.gif' 为后缀的 IMG 元素并进行处理。 ```data``` 参数可以是字符串,表示对应元素选择器;可以是DOM对象;也可以是 NodeList 对象,或者 HTMLCollection、HTMLAllCollection 对象。 **options** ```options``` 是可选参数,目前仅支持一个属性值。 ```js { bindEvent: true } ``` 表示是否给GIF图片绑定点击暂停行为,如果设置 bindEvent 为 false,可以使用返回值 ```player``` 对GIF的播放和暂停进行手动控制。 #### 返回值 ```player``` 返回值包含了以下属性和方法: ```js { // 当前 GIF 图像元素对象 element: null, // GIF 是否暂停中,只读 paused: false, // 继续播放 play: function () {}, // 暂停播放 pause: function () {}, // 当前帧,只读 frameIndex: -1 } ``` #### 其他 ImageDecoder 这个 API 目前仅 Chrome 浏览器支持,如果希望任意现代浏览器都支持 GIF 点击暂停,可以试试 libgif.js 这个项目。 更多信息,例如实现原理,可以死参见这篇文章:https://www.zhangxinxu.com/wordpress/?p=10830