1、功能要求:
實(shí)現(xiàn)在一個(gè)指定區(qū)域拖拽div,并可以放大縮小,同時(shí)顯示鼠標(biāo)在該div里的坐標(biāo),如圖可示
縮小并拖動(dòng)
2、實(shí)現(xiàn)
<div class="div_content" ref="div_content">
<div class="div_image" id="pic"
:style="{'zoom':zoom,'transform':'translate('+moveX+'px,'+moveY+'px)',}"
@mousedown.stop="mousedown($event)" @mousemove="handleMouseMove" @mouseleave="mouseout"
>
</div>
<div class="div_image_tool">
<img src="..." class="div_add " @click="add_img">
<div class="heng"></div>
<img src="..." class="div_add div_decrease" @click="dec_img">
</div>
</div>
<div class="div_axirs">X:{{ux}} Y:{{uy}}</div>
js代碼文章來源:http://www.zghlxwxcb.cn/news/detail-745787.html
data(){return{
ux: 0,
uy: 0,
moveX: 0,//X軸移動(dòng)的距離
moveY: 0,
startx: '',//鼠標(biāo)的初始位置
starty: '',
endx: 0,
endy: 0,
zoom: 1,//放大的倍數(shù)
}
},
methods:{
add_img() {
this.zoom <= 10 ? this.zoom = this.zoom + 0.5 : ''
},
dec_img() {
this.zoom > 0.5 ? this.zoom = this.zoom - 0.5 : ''
},
mousedown(e) {
// 綁定mousemove
this.startx = this.formatXY(e.pageX / this.zoom); this.starty = this.formatXY(e.pageY / this.zoom)
document.onmousemove = (e) => {
this.moveX = this.formatXY(e.pageX / this.zoom) - this.startx + this.endx
this.moveY = this.formatXY(e.pageY / this.zoom) - this.starty + this.endy
e.preventDefault()
};
document.onmouseup = (e) => {
// 解除綁定mousemove
document.onmousemove = null;
this.endx = this.moveX
this.endy = this.moveY;
}
},
mouseout() {
var that = this;
that.ux = 0;
that.uy = 0;
},
handleMouseMove(e) {
this.getAxis(e)
},
getAxis(e) {
this.ux = this.formatXY(e.offsetX / this.zoom);
this.uy = this.formatXY(e.offsetY / this.zoom);
},
formatXY(num) {
return num.toFixed(0)
},
}
css文章來源地址http://www.zghlxwxcb.cn/news/detail-745787.html
.div_content {
position: relative;
width: 600px;
height: 580px !important;
margin: 0 20px;
overflow: hidden;
background: rgb(230, 229, 229);
}
.div_image {
height: 400px;
width: 400px;
background: white;
margin: 100px auto auto 100px !important;
}
到了這里,關(guān)于vue實(shí)現(xiàn)在頁面拖拽放大縮小div并顯示鼠標(biāo)在div的坐標(biāo)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!