日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue實現簡易圖片左右旋轉,上一張,下一張組件案例

瀏覽:251日期:2022-12-21 09:41:59

項目需求,嵌到elementUi里的小組件,寫得不好,不喜勿噴,謝謝

父組件代碼

<template> <div> <see-attachment :filesLists=’files’ :file=’imgFile’ v-if='showmask' @hideMask=’showmask=false’></see-attachment> </div></template><script> import seeAttachment from './seeAttachment.vue'; export default { data() { return { showmask: false, imgFile: {} }; }, components: { seeAttachment }, methods: { lookImg(f) { this.showmask = true; this.imgFile = f; }, } };</script>

子組件代碼

<template> <div> <div @click='hideMask'> <div class='img_box'> <img :src='http://m.b3g6.com/bcjs/imgPath' : : @click='stopEvent' id=’img’ /> </div> </div> <div class='handleImg_box'> <div @click='prevOne'><img src='http://m.b3g6.com/static/img/prev.png' /></div> <div @click='rotate(0)'><img src='http://m.b3g6.com/static/img/turn_left.png' /></div> <div @click='rotate(1)'><img src='http://m.b3g6.com/static/img/turn_right.png' /></div> <div @click='nextOne'><img src='http://m.b3g6.com/static/img/next.png' /></div> </div> </div></template><script> export default { name: ’seeAttachment’, props: [’filesLists’, ’file’], data: function() { return { imgPath: ’’, width: 0, height: 0, imgIndex: 0 } }, mounted() { this.getImgIndex(); this.seeAttachment(this.imgIndex); }, computed: { //去掉不是圖片的附件 imgList() { const ARR = ['png', 'PNG', 'jpeg', 'JPEG', 'bmp', 'BMP', 'jpg', 'JPG', 'gif', 'GIF']; let arrs = ’’; let suffix = ’’; let type = ’’; let newList = []; this.filesLists.forEach((item) => { arrs = item.name.split(’.’); suffix = arrs[arrs.length - 1]; type = item.type ? item.type : item.raw ? item.raw.type : suffix; ARR.some(items => { if (type.includes(items)) { newList.push(item) } }) }) return newList; } }, methods: { //通過父組件傳入的file獲取當前查看的圖片index getImgIndex() { let that = this; that.imgList.forEach((item, index) => { if(that.file.id == item.id){ that.imgIndex = index; } }) }, //?藏查看?D片 hideMask() { this.$emit(’hideMask’, false); }, stopEvent(event) { //阻止冒泡事件 //取消事件冒泡 let e = event; //若省略此句,下面的e改為event,IE運行可以,但是其他瀏覽器就不兼容 if (e && e.stopPropagation) { e.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true; } }, //上一?? prevOne() { if (this.imgIndex == 0) { return false; } let img = document.getElementById(’img’) img.style.transform = ’rotate(0deg)’; this.imgIndex = this.imgIndex - 1; this.seeAttachment(this.imgIndex); }, //下一?? nextOne() { let listLength = this.imgList.length - 1; if (this.imgIndex >= listLength) { return false; } let img = document.getElementById(’img’) img.style.transform = ’rotate(0deg)’; this.imgIndex = this.imgIndex + 1; this.seeAttachment(this.imgIndex); }, //右轉 rotate(t) { let img = document.getElementById(’img’) var reg = /(rotate([-+]?((d+)(deg))))/i; var wt = img.style[’-webkit-transform’], wts = wt.match(reg); var $3 = RegExp.$3; var current = $3 ? parseInt($3) : 0; if (t == 0) { current = current == 0 ? 360 : current; current = (current - 90) % 360; } else { current = (current + 90) % 360; } img.style.transform = ’rotate(’ + current + ’deg)’; }, seeAttachment(index = 0) { if (this.imgList.length == 0) { return false; } let that = this; let basePath = 'http://' + (process.env.OSS_PATH.indexOf('test') == -1 ? 'opyx-mtds-pro' : 'opyx-mtds-test') + '.oss-cn-shenzhen.aliyuncs.com/'; that.imgPath = basePath + that.imgList[index][’path’]; let img_url = basePath + that.imgList[index][’path’]; // 創建對象 var img = new Image(); // 改變圖片的src img.src = img_url; // 定時執行獲取寬高 var check = function() { // 只要任何一方大于0 // 表示已經服務器已經返回寬高 if (img.width > 0 || img.height > 0) { let wdt = document.body.offsetWidth; let hgt = document.body.offsetHeight; let ratio = 1; if (img.width > img.height && img.width > wdt * ratio) { img.height = img.height * wdt * ratio / img.width; img.width = wdt * ratio; console.log(’寬大于高’, img) } else if (img.height > img.width && img.height > hgt * ratio) { img.width = img.width * hgt * ratio / img.height; if (img.width > wdt) { img.width = wdt; } img.height = hgt * ratio; console.log(’高大于寬’, img) } else { img.height = img.height * wdt * ratio / img.width img.width = wdt * ratio console.log(’正常’, img) } that.width = img.width; that.height = img.height; clearInterval(set); } }; var set = setInterval(check, 40); }, } }</script><style lang='scss' scoped> .handleImg_box { position: fixed; bottom: 0; left: 50%; z-index: 100; margin-left: -150px; width: 300px; padding: 1rem 0; display: flex; align-items: center; justify-content: space-around; } .handleImg_box div { font-size: 0; } .handleImg_box div img { width: 3rem; }</style>

補充知識:vue圖片放大、縮小、旋轉等。僅需要兩行代碼!!!

效果圖

vue實現簡易圖片左右旋轉,上一張,下一張組件案例

實現步驟:

1.下載Viewer組件

npm install v-viewer --save

2.在圖片顯示的頁面引用 viewer組件(一個js文件,一個css樣式文件)

import Viewer from '@/assets/js/viewer.min.js';

import ’@/assets/css/viewer.min.css’;

3.再需要點擊圖片的標簽添加點擊事件@click

<img : :src='http://m.b3g6.com/bcjs/item.publicFileURL' @click='aaa(item)' >

vue實現簡易圖片左右旋轉,上一張,下一張組件案例

說明:因為我的圖片是在集合中存的需要動態的點擊放大(點哪個放大哪個)----id很重要 aaa()方法中要用

4.@click='aaa(item)'方法

aaa(item) { var viewer = new Viewer(document.getElementById(item.publicFileURL), { url: item.publicFileURL, }); },

vue實現簡易圖片左右旋轉,上一張,下一張組件案例

以上這篇vue實現簡易圖片左右旋轉,上一張,下一張組件案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一二三区| 国产精品成人**免费视频| 青青伊人久久| 91福利精品在线观看| 综合五月婷婷| 日本成人在线一区| 日产欧产美韩系列久久99| 久久99伊人| 午夜久久av| 日韩国产成人精品| 久久99精品久久久野外观看| 日韩免费在线| 欧美偷窥清纯综合图区| 高潮一区二区| 欧美亚洲tv| 91成人精品视频| 国产精品美女在线观看直播 | 久久av日韩| 欧美肉体xxxx裸体137大胆| 亚洲精品在线a| 日韩欧美一区二区三区在线观看 | 久久精品青草| 国产精品网站在线看| 日韩大片在线| 欧美专区在线| 88xx成人免费观看视频库| 国产一区2区| 日韩精品中文字幕第1页| 激情国产在线| 精品视频国产| 日韩激情一二三区| av不卡免费看| 狠狠躁少妇一区二区三区| 视频一区二区中文字幕| 日韩一区二区在线免费| 国产欧美69| 欧美在线日韩| 亚洲资源网站| 亚洲精品综合| 最新亚洲一区| 午夜欧美精品久久久久久久| 国产精品久久久久蜜臀| 欧美一区二区三区久久精品| 丝袜脚交一区二区| 夜夜嗨av一区二区三区网站四季av| 亚洲v在线看| 秋霞影院一区二区三区| 日韩国产综合| 国际精品欧美精品| 精品99在线| 日韩超碰人人爽人人做人人添| 日韩一区亚洲二区| 亚洲福利精品| 欧美特黄a级高清免费大片a级| 亚洲国产专区| 亚洲精品国产日韩| 亚洲综合小说| 欧美激情亚洲| 一区二区三区四区日本视频| 亚洲天堂资源| 红桃视频欧美| 亚洲精品在线a| 国产福利一区二区精品秒拍| 日本va欧美va瓶| 国产精品网址| 福利一区二区| 中文在线资源| 一本色道精品久久一区二区三区| 视频一区欧美精品| 国产精品调教视频| 精品少妇一区| aⅴ色国产欧美| 国产精品亚洲人成在99www| 97精品中文字幕| 日韩中文字幕| 精品一区二区三区中文字幕在线| 久久婷婷亚洲| 视频在线观看国产精品| 97成人在线| 99久久夜色精品国产亚洲1000部| 日本强好片久久久久久aaa| 精精国产xxxx视频在线野外| 天堂8中文在线最新版在线| 蜜桃精品在线| 国产精品男女| 另类综合日韩欧美亚洲| 久久久亚洲欧洲日产| 国产精品久久久一区二区| 亚洲综合婷婷| 欧美精品导航| 国产99亚洲| 亚洲视频二区| 精品久久久网| 99久久亚洲精品蜜臀| 日韩中文字幕麻豆| 国产精品久av福利在线观看| av在线最新| 性欧美长视频| 国产精品成人**免费视频 | 欧美日韩一区二区三区不卡视频| 成人台湾亚洲精品一区二区| 欧美亚洲精品在线| 久久国产人妖系列| 欧美日韩精品免费观看视欧美高清免费大片| 一区二区三区视频免费观看| 欧美午夜三级| 久久亚洲风情| 日本午夜精品一区二区三区电影| 色偷偷色偷偷色偷偷在线视频| 免费欧美在线视频| 中文字幕色婷婷在线视频| 久久国产精品99国产| 国产在线看片免费视频在线观看| 亚州av一区| 五月综合激情| 久久一区二区三区电影| 九九久久国产| 青青草伊人久久| 99在线精品免费视频九九视| 四虎8848精品成人免费网站| 亚洲2区在线| 少妇精品久久久| 激情欧美一区二区三区| 日韩国产一区| 国产精品99一区二区三| 蜜桃精品视频| 国产欧美在线观看免费| 视频一区二区三区在线| 黄色av日韩| 亚洲一级高清| 亚洲激情五月| 欧美午夜不卡| 欧美午夜不卡| 好看不卡的中文字幕| 欧美午夜不卡| 美日韩精品视频| 在线免费观看亚洲| 每日更新成人在线视频| 免播放器亚洲| 亚洲人成高清| 日韩激情中文字幕| 69堂免费精品视频在线播放| 欧美日韩18| 国产日韩中文在线中文字幕 | 亚洲美女久久精品| 激情欧美丁香| 日韩在线a电影| 日韩国产欧美在线视频| 91精品国产一区二区在线观看| 日本免费在线视频不卡一不卡二| 亚洲无线观看| 欧美韩一区二区| a日韩av网址| 国产一级一区二区| 日韩国产在线观看一区| 麻豆国产精品一区二区三区| 免费av一区二区三区四区| 亚洲精品四区| 成人三级高清视频在线看| 欧美日韩国产一区精品一区| 少妇精品久久久一区二区| 国产一区二区三区网| 免费观看不卡av| 国产欧美精品久久| 久久精品观看| 日本国产一区| 999国产精品999久久久久久| 自拍自偷一区二区三区| 国产一区二区三区视频在线| 精品一区在线| 里番精品3d一二三区| 日韩午夜高潮| 麻豆成人91精品二区三区| 亚洲欧美日韩国产综合精品二区| 免费在线观看一区| 亚洲乱码视频| 欧美成人基地| 国产精品网址| 亚洲免费中文| 免费福利视频一区二区三区| 91嫩草精品| 91看片一区| 高清一区二区| 日本不卡不码高清免费观看| 91精品国产调教在线观看| 91综合网人人| 久久精品毛片| 欧美激情福利| 国产一精品一av一免费爽爽| 亚洲一区二区网站| 亚洲国产成人精品女人| 久久久久欧美精品| 国产欧洲在线| 91看片一区| 欧美精品资源| 亚洲午夜视频| 成人高清一区| 91视频一区| 久久精品国产68国产精品亚洲| se01亚洲视频 |