<template>
<div :style="{left:`${left}px`,top:`${top}px`}"
@mousedown.stop>
<img :src="url"
@mousedown.prevent>
</div>
</template>
<script>
export default {
data() {
return {
left: 300,
top: 50,
};
},
methods: {
startDrag(e) {
let { clientX: startX, clientY: startY } = e;
this._isMouseDown = true;
const onMove = e => {
if (!this._isMouseDown) return;
e.stopImmediatePropagation();
const { clientX, clientY } = e;
const deltaX = clientX - startX;
const deltaY = clientY - startY;
// 移动距离加上原始距离
this.left += deltaX;
this.top += deltaY;
startX = clientX;
startY = clientY;
};
const onUp = () => {
document.removeEventListener('mousemove', onMove);
document.removeEventListener('mouseup', onUp);
if (!this._isMouseDown) {
return false;
}
};
document.addEventListener('mousemove', onMove);
document.addEventListener('mouseup', onUp);
},
},
};
</script>
<style lang="less" scoped>
img {
cursor: move;
}
.card {
position: absolute;
background: #fff;
.ping {
position: absolute;
display: flex;
.ping-1 {
width: 180px;
height: 72px;
background: #fff;
margin-top: 8px;
display: flex;
margin-right: 8px;
.name {
font-size: 20px;
color: rgba(0, 0, 0, 0.85);
line-height: 28px;
}
.score {
color: rgba(140, 140, 140, 1);
}
.bac-2 {
background-color: #13ce9f;
}
.bac-1 {
background-color: #597ef7;
}
.bac {
width: 48px;
height: 48px;
margin: 12px;
line-height: 48px;
text-align: center;
color: #fff;
border-radius: 4px;
}
}
}
}
</style>
图片 移动
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 我们将在本教程中做什么 在本教程中,图像移动和旋转等运动是使用着色器进行的编辑图像节点 点击图像节点上的“编辑”按...
- bounds方法设置图片大小注意事项 bounds是结构体CGRect需要用CGRect接收而不能用CGSize接...