当前位置: 首页 > Web前端 > vue.js

vue+photoswipe点击图片实现双指缩放

时间:2023-03-31 23:37:34 vue.js

模仿微信的看图功能。最近需要用vue重构公司之前的一套程序。有点击图片放大的功能,需要支持双指放大。以前是直接nativejs+photoswipe实现的,功能没问题,但是懒得自己写了,准备百度找个直接用,搜了一下找了几个.但是这段代码写起来实在是太长了,一开始就有两百多行。做这么多代码还不算太复杂,接受不了!或者决定自己做。开始还是老样子,安装插件npmiphotoswipeimport:importPhotoSwipefrom"photoswipe";importPhotoSwipeUI_Defaultfrom"photoswipe/dist/photoswipe-ui-default";import"photoswipe/dist/photoswipe.css“;导入“photoswipe/dist/default-skin/default-skin.css”;主要事件:功能实现(总共只有20行)openPhotoSwipe(){letpswpElement=document.querySelectorAll('.pswp')[0]this.gallery=newPhotoSwipe(pswpElement,PhotoSwipeUI_Default,this.items,this.PhotoSwipeOption);this.closePhotoSwipe=truethis.gallery.init();this.gallery.listen("destroy",()=>{this.closePhotoSwipe=falsethis.cPhotoSwipe()});},cPhotoSwipe(){this.gallery.close()},getAttr(e){this.items[0]。w=e.target.getAttribute('数据-w')this.items[0].h=e.target.getAttribute('data-h')this.items[0].src=e.target.getAttribute('src')this.openPhotoSwipe()}HTML部分:关闭

配置项PhotoSwipeOption:{fullscreenEl:true,shareEl:false,arrowEl:true,preloaderEl:true,loop:false,bgOpacity:0.85,showHideOpacity:true,errorMsg:"Imageloadingfailed",history:false,focus:false,showAnimationDuration:0,hideAnimationDuration:0,},这段代码比网上大部分少了至少50%,看来心情好了很多有用。喜欢-->