国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

瀏覽:106日期:2022-12-24 08:27:21

vue-preview是一個(gè)常用的圖片查看器,微博網(wǎng)頁版就是用的這個(gè)插件:

vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

我在項(xiàng)目中也用過這個(gè)插件,總體來說,還是比較滿意。但是缺少一個(gè)圖片旋轉(zhuǎn)功能。

安裝使用

第一步:安裝

npm i vue-preview -S

第二步:引用配置

import VuePreview from ’vue-preview’Vue.use(VuePreview)Vue.use(preview, { mainClass: ’pswp--minimal--dark’, barsSize: {top: 0, bottom: 0}, captionEl: false, fullscreenEl: false, shareEl: false, bgOpacity: 0.85, tapToClose: true, tapToToggleControls: false})

第三步:使用

// 定義預(yù)覽圖片列表previewlist: [ { src: ‘./pic01.jpg’, w: 1200, h: 900 }, { src: ‘./pic01.jpg’, w: 1200, h: 900 }] // 給圖片添加“preview-img”類(必須添加且要同名),以及綁定“show”方法<img :src='http://www.cgvv.com.cn/bcjs/decodeURIComponent(item.name)' @click='show(index)'> // 點(diǎn)擊圖片觸發(fā)預(yù)覽方法show (index) { this.$preview.open(index, this. previewlist);}

動(dòng)態(tài)獲取圖片寬高

如果圖片列表資源是從服務(wù)器獲取,則需要先獲取圖片的真實(shí)寬高,具體代碼如下:

this. previewlist = []; //查看列表let imglist = […]; //從服務(wù)器獲取的圖片地址列表show (index) { for (let i = 0; i < imglist.length; i++) { // 獲取圖片實(shí)際大小 let newImage = {}; let img = new Image(); img.src = imglist[i]; img.onload = function () { newImage.src = imglist[i]; newImage.w = img.width; newImage.h = img.height; }; this.previewlist.push(newImage); } // 正常情況下javascript都是按照順序執(zhí)行的。但是我們可能讓該語句后面的語句執(zhí)行完再執(zhí)行本身,用setTimeout延時(shí)0ms來實(shí)現(xiàn)。 setTimeout(() => { this.$preview.open(index, this.previewlist); }, 0);}

新增圖片旋轉(zhuǎn)功能

默認(rèn)的功能有全屏、放大、分享、圖片切換等,有時(shí)候我們還需要圖片旋轉(zhuǎn)功能,怎么辦呢?那只能自己動(dòng)手改插件了。

第一步:添加旋轉(zhuǎn)圖標(biāo)

圖標(biāo)文件路徑:node_modulesphotoswipedistdefault-skin

vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

原來只有前面8個(gè)圖片,后面那個(gè)稍微大一點(diǎn)的旋轉(zhuǎn)圖標(biāo)是我加上去的,當(dāng)然你也可以把尺寸設(shè)置為和原來的一樣。

第二步:添加旋轉(zhuǎn)按鈕到頁面

頁面文件路徑:node_modulesvue-previewsrcpluginspreviewpreview.vue

<button @click='imgRotateFn'></button>

第三步:添加旋轉(zhuǎn)按鈕的樣式

樣式文件路徑:node_modulesphotoswipedistdefault-skin

.pswp__button--rotate { background-position: -176px 0;}

第四步:實(shí)現(xiàn)旋轉(zhuǎn)方法

文件路徑:node_modulesvue-previewsrcpluginspreviewpreview.vue

imgRotateFn () { this.angle+=90; let imgNode = document.getElementsByClassName(’pswp__img’); for (let i = 0; i<imgNode.length; i++) { imgNode[i].style.WebkitTransform = ’rotate(’+this.angle+’deg)’; } }

這里我只貼出了關(guān)鍵代碼,需要你自己做瀏覽器兼容,以及切換圖片時(shí),應(yīng)該將圖片角度設(shè)置為0等。

測(cè)試結(jié)果

vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

vue-preview動(dòng)態(tài)獲取圖片寬高并增加旋轉(zhuǎn)功能的實(shí)現(xiàn)

測(cè)試沒有問題,終于可以下班了,哈哈哈。

Tips:懶得自己動(dòng)手改插件的伙伴,可以在樓主的GitHub倉(cāng)庫(kù)下載改好后的文件,在你安裝好 vue-preview 后用“attachment”文件夾中的三個(gè)文件替換你項(xiàng)目中的對(duì)應(yīng)文件就擁有“旋轉(zhuǎn)”功能了。GitHub地址:https://github.com/xiongjun0812/vue-preview

今天就分享到這里,有問題歡迎留言交流,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 亚洲精品国产成人 | 欧美videos极品 | 好吊操这里只有精品 | 亚洲精品国产美女在线观看 | 日本一级在线播放线观看免 | 亚洲精品中文字幕一区 | 国产精品免费观看视频播放 | 国产美女一区二区 | 国产精品一区二区手机在线观看 | 97免费视频在线 | 亚洲精品久久久久久久福利 | 亚洲小视频在线播放 | 精品国产综合成人亚洲区 | 欧美 日韩 国产 在线 | 午夜一级毛片免费视频 | 九九九九热精品免费视频 | 日本乱理伦中文三区 | 亚洲成人偷拍 | 亚洲国产欧美国产综合一区 | 亚洲国产精品久久人人爱 | 99在线播放视频 | 欧美一级毛片不卡免费观看 | 久久国产夜色精品噜噜亚洲a | 色老头一区二区三区在线观看 | 欧美一级专区免费大片 | 免费看又黄又爽又猛的网站 | 韩国女主播青草在线观看 | 5x性区m免费毛片视频看看 | 黄色美女视频免费 | 国产日本三级欧美三级妇三级四 | 乱子伦农村xxxx | 久久精品免费观看久久 | 国产精品单位女同事在线 | 欧美色老头oldvideos | 亚州国产视频 | 亚洲第一区精品日韩在线播放 | 欧美精品束缚一区二区三区 | 男人的天堂高清在线观看 | 亚洲精品一区国产二区 | 久久中文字幕久久久久91 | 午夜影院0606 |