pc端jquery左右按钮控制带缩略图的图片切换代码_Web开发实用的图片预览插件,简单零依赖——PhotoSwipe...

介绍

PhotoSwipe是一个JavaScript库,没有依赖项。要说唯一的依赖项那就是Vanilla.js(原生js),因此你可以在你的任何Web项目中使用,包括主流的Vue、React、Angular以及传统jQuery的项目。PhotoSwipe可以被用到各种大中小型项目当中,并且PC和移动端完美支持!

a8d5b68de1eb6a48b301e5a7b699eb48.gif

Github

https://github.com/dimsemenov/photoswipe

19052a54b29168b0f26062259fc6ac84.png

触控手势

支持所有基本手势:轻拂到下一个或上一个图像,展开以放大,拖动以平移,缩小或关闭,单机切换,双击以缩放。

  • 展开以放大图像

PhotoSwipe是第一个支持基于JavaScript的图像缩放的开源画廊。即使已禁用浏览器的本机缩放,图像缩放仍将起作用。

12873a3e0ba5ff25b5ec0fb672b92079.png
  • 伸缩关闭画廊(看图)

用户放大时,画廊的背景将逐渐淡出。手势完成后,图库将关闭。

272fd9205b2d6bdeb4b5da3a0ab61f92.png
  • 垂直滑动即可关闭图库

之所以添加手势,是因为用一只手握住高大的移动设备可能很难触及右上角的关闭按钮。

4e0520fd58a5aa3ca06ef38f97bb2be9.png
  • 水平滑动即可切换项目

即使缩放当前幻灯片,也可以更改图像。过渡期间不会阻止切换。

31781594bbbd32197792aedb7f4aa8da.png

浏览器历史记录API

PhotoSwipe记录浏览器的历史记录,以便用户可以链接到每个图库项目并通过“后退”按钮关闭图库。关闭画廊时,将恢复初始URL。

d12e736ff3f7bbe0eabb7e52d03a9a0c.png
  • “返回”按钮关闭图库

当画廊打开时,PhotoSwipe会添加一个历史记录,允许用户通过浏览器的“后退”按钮将其关闭。

  • 每个图库项目的唯一URL

用户可以共享并链接到每个图像。哈希后缀有两个额外的参数:(gid画廊索引)和pid(图片索引)。此功能作为模块提供。可以将其完全排除在构建之外,也可以对其进行分叉以满足产品URL结构的要求。

加载和显示图像

PhotoSwipe产生了更快加载的错觉。

  • 随着数据到达,图像逐渐显示

照片会在完全加载之前显示。在触摸设备上禁用此功能,因为它可能导致滑动过渡滞后。

  • 低分辨率图像会立即显示,然后拉伸到完整尺寸

将缩略图的源传递到PhotoSwipe,PhotoSwipe将立即显示它,并将完整尺寸的图像加载到顶部。

  • 智能加载指示器

仅使用拉伸的缩略图或灰色占位符,整个图像逐渐加载到顶部

  • 缩放动画

打开画廊的缩放过渡并不是仅仅出于奇特的效果。图像在动画之前开始加载,因此使用快速连接的用户甚至可能不会注意到正在加载某些内容。

  • 智能延迟加载

PhotoSwipe会根据用户移动的方向加载相邻图像。可以控制通过API预加载多少张图片。

  • 响应图像支持

由于图库中的图像是动态加载的,因此您可以传递适合用户窗口大小和DPI的源。

  • 点击放大图片

PhotoSwipe模拟浏览器图像查看器的默认行为

如果图像小于视口,则PhotoSwipe将在图像上方显示缩放光标,并在顶部栏中显示缩放图标。

  • 通过滚轮或触控板平移或拖动来平移

放大图像时,用户可以通过鼠标滚轮或触控板或通过拖动来平移图像。而且,如果需要扩展此功能,则可以使用该API。

使用

可以通过文档查看详细的使用方法

250f10df407d8d1e8c1ae7cd99e25e1b.png

Enjoy it!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么调试内存溢出的c++代码_【C/C++】内存对齐 到底怎么回事?

1 明确几个概念代码分区:在使用C/C编程时,我们定义的变量存在于内存中,而内存在C语言的角度上可以分为五大区。局部变量在栈区,静态/全局变量在全局区,动态申请的变量存在于堆区,const修饰的变量/字符常量存…

js粘贴板为什么获取不到图片信息_图床+typora,告别markdown中关于图片的困惑

在上一篇文章中向大家介紹了几款软件,这篇文章主要分享一下markdown编辑器typora软件如何使用图床,快速的将图片加载到markdown文档中。图床:指存储图片的服务器,将图片上传到服务器上,转换成链接为什么使用图床&#…

计算机二级mysql是什么_计算机二级mysql考什么内容?

计算机二级mysql考什么内容?一、基本概念与方法1、数据库基础知识(1)数据库相关的基本概念(2)数据库系统的特点与结构(3)数据模型2、关系数据库、关系模型3、数据库设计基础(1)数据库设计的步骤(2)关系数据库设计的方法4、MySQL概述(1)MySQL系统特性与工…

eclipse软件有时会退出弹出一串错误弹框_修复iPhone上的iOS 13软件更新失败错误...

如果由于“软件更新失败:下载iOS 13时发生错误”错误而无法安装刚刚发布的用于检查新的暗模式功能的iOS 13更新,那么我可以理解这种挫败感。但幸运的是,有些解决方案可以尝试修复某些用户报告的iOS 13软件更新失败错误。解决iPhone 13软件失败…

mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。使用Select语句返回的数据,可能会发现显示的数据会与其他的地方顺序不同。出现这种情况很正常。如果没有明确排序…

vep文件如何转换mp4_如何将DVD的vob视频格式转换成mp4格式

首先简述一下,VOB是DVD Video OBject的缩写,vob文件用来保存所有MPEG-2格式的音频和视频数据,这些数据不仅包含影片本身,而且还有供菜单和按钮用的画面以及多种字幕的子画面流。如何把视频vob格式转换成任意格式视频文件呢&#x…

esp8266接收到的数据如何存放到数组中_Java中HashMap的实现原理

最近面试中被问及Java中HashMap的原理,瞬间无言以对,因此痛定思痛觉得研究一番。一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储…

python测试用例管理_Python测试框架Pytest的常用插件测试报告

原标题:Python测试框架Pytest的常用插件测试报告一、pytest-html 生成 html 测试报告 要求:Python 3.6 安装:pip install pytest-html 文档:https://github.com/pytest-dev/pytest-html、https://www.cnblogs.com/linuxchao/p/lin…

python symbol函数展开_QGIS表达式中的函数

编程语言中的函数,与数学函数的定义大不相同。在计算机领域,函数是指一段可以直接被另一段程序或代码引用的程序或代码,也叫做子程序(subroutine)、过程(procedure)、方法(method)。函数在QGIS表达式构建过程中起到重要作用,表达式…

layui 金额数据千分位_IG神秘打野韩服数据,盲僧数据或暗示英雄池问题

在LPL春季赛结束,而夏季赛还未开始的这段时间,是LPL各大战队能够利用的宝贵时间。为了备战S10,有一些队伍确实需要引援。而在这次转会期期间,率先出现转会传闻的是IG战队。据传IG打野Leyan有离队的可能,同时IG也在积极…

python设计模式pdf_精通Python设计模式 高清晰PDF+源码

精通Python设计模式讲述了16种基本设计模式,轻松解决软件设计常见问题;借力高效的Python语言,用现实例子展示各模式关键特性。 本书用实际生活中的例子带你了解常用的设计模式,介绍了诸多有关编写Python风格代码的底层细节和概念&…

datanode无法启动_Hadoop DataNode启动和初始化过程

简介我们先看DataNode的doc文档的介绍,DataNode是一个类,用于存储一组块,用于DFS部署。单个部署可以有一个或多个DataNode。每个DataNode通信定期与单个NameNode进行通信。它还可以与客户端和其他的DataNodes通信。DataNode存储一系列命名的块…

挖掘机燃料_2020广东挖掘机工程机械出租公司合作共赢

如今的挖掘机具有比以往更多的内置安全功能,但这并不意味着只有任何人都可以爬上驾驶室并安全操作。1、仔细检查地面区域使用挖掘机时,诸如岩石、建筑材料和树桩之类的物品会损害安全性。在开始操作机器之前,请确保已将其从该区域中清理。此外…

mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...

添加和删除列使用ADD向表中添加新列,使用DROP删除现有列。DROP col_name是对标准SQL的MySQL扩展。若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFTER col_name。默认情况是添加到最后。如果表只包含一列,则不能删除该列。如果您想…

ant构建项目迁移到gradle_Gradle构建工具

构建工具的作用:依赖管理;测试、打包、发布;机器能干的活,绝不自己动手。主流构建工具:(1)Ant:编译、测试、打包;(2)Maven:依赖管理、发布;(3)Gradle:Groovy&…

mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据

备注:在工作中我们经常会遇到,将数据库中某张数据表中的内容或数据导出来;今天我们就介绍怎样快速有效的进行数据导出,导入。使用的数据库版本为:mssqlserver2005。首先进行登录mssqlserver2005 ,如下图所示…

pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !

作者:chenjiandongx一个执迷于写 bug 的程序员pyecharts V1.0.0 版本正式发布啦!Whats New in pyecharts V1pyecharts 经过了半年的沉寂后,终于发布了新版本啦!新版本号将从 v1.0.0 开始,这是一个全新的,向…

python 整除及余数_python除法余数

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 常量常量就是不变的变量,在python中,通常用大写的变量名表示常量,这一点…

flatmap用法_短说:map和flatmap

PS:本文阅读->理解->GET大概2-5分钟.也许你天天见到,但是一直没理解,占用你少量的时间,相信简单的东西,只需要你付出一点点时间.map和flatmap是Java8中stream的用法.>>>>>>map把数组流中的每一个值,使用所提供的函数执行一遍,一…

git 回退到某个commit_it lesson2 版本回退

回顾上次的知识:1,首先git init 初始化文件的状态,使用git管理文件。2,git add xxx 告诉git把xxx文件添加到仓库3,git commit -m ‘xxxx’告诉git把文件提交到仓库 并对提交的内容作解释(‘xxxx’&#xff…