600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > vue 实现图片放大缩小拖拽

vue 实现图片放大缩小拖拽

时间:2021-03-03 23:02:11

相关推荐

vue 实现图片放大缩小拖拽

/239173.html

/wjw1014/5411219

// 放大缩小public setTransform (multiples: number) {(this.$el as any).style.transform = `scale(${multiples})`;}// 拖拽public dropImage (e: any) {if (!e || this.editAble || !this.canDropImage) {return;}this.odiv = this.drawer.$el; // 获取目标元素// 算出鼠标相对元素的位置const disX = e.clientX - this.odiv.offsetLeft;const disY = e.clientY - this.odiv.offsetTop;document.onmousemove = (e) => {// 鼠标按下并移动的事件// 用鼠标的位置减去鼠标相对元素的位置,得到元素的位置const left = e.clientX - disX;const top = e.clientY - disY;// 移动当前元素this.odiv.style.left = left + 'px';this.odiv.style.top = top + 'px';};document.onmouseup = (e) => {document.onmousemove = null;document.onmouseup = null;this.$emit('onmouseup', this.odiv.style.left, this.odiv.style.top);};}

// 放大缩小private handleBigImage () {if (this.multiples >= 2) {return;}this.multiples += 0.25;}private handleSmallImage () {if (this.multiples <= 1) {return;}this.multiples -= 0.25;}

同时支持滚轮

@mousewheel.prevent="roller"private roller (e: any) {e.deltaY > 0 ? this.handleSmallImage() : this.handleBigImage();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。