最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用Vue做出DIV拖拽

来源:懂视网 责编:小采 时间:2020-11-27 19:40:41
文档

使用Vue做出DIV拖拽

使用Vue做出DIV拖拽:这次给大家带来使用Vue做出DIV拖拽,的注意事项有哪些,下面就是实战案例,一起来看一下。效果图:HTML代码:<p id="box"> 位置 <br>x:{{val.x}} <br>y:{{val.y}} <p v-drag="greet
推荐度:
导读使用Vue做出DIV拖拽:这次给大家带来使用Vue做出DIV拖拽,的注意事项有哪些,下面就是实战案例,一起来看一下。效果图:HTML代码:<p id="box"> 位置 <br>x:{{val.x}} <br>y:{{val.y}} <p v-drag="greet
这次给大家带来使用Vue做出DIV拖拽,的注意事项有哪些,下面就是实战案例,一起来看一下。

效果图:

HTML代码:

<p id="box"> 
 位置
 <br>x:{{val.x}} <br>y:{{val.y}}
 <p v-drag="greet" id="drag" :style="style">
 //注意这里要通过指令绑定函数将当前元素的位置数据传出来
 </p>
</p>

JS代码:

Vue.directive('drag',//自定义指令 
 {bind:function (el, binding) {
 let op = el; //当前元素
 let self = this; //上下文
 op.onmousedown = function (e) {
 //鼠标按下,计算当前元素距离可视区的距离
 let disX = e.clientX - op.offsetLeft;
 let disY = e.clientY - op.offsetTop;
 document.onmousemove = function (e) {
 //通过事件委托,计算移动的距离 
 let l = e.clientX - disX;
 let t = e.clientY - disY;
 //移动当前元素 
 op.style.left = l + 'px';
 op.style.top = t + 'px';
 //将此时的位置传出去
 binding.value({x:e.pageX,y:e.pageY})
 };
 document.onmouseup = function (e) {
 
 document.onmousemove = null;
 document.onmouseup = null;
 };
 };
 }
 }
 );
 window.onload = function () {
 let vm = new Vue({
 el: '#box',
 data: {
 val: '123',
 style: {
 width: '100px',
 height: '100px',
 background: 'aqua',
 position: 'absolute',
 right: '30px',
 top: 0
 }
 },
 methods:{
 //接受传来的位置数据,并将数据绑定给data下的val
 greet(val){
 vm.val = val;
 }
 } ,
 });
 }

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

怎样对vue文件进行解析

react 实现单例组件(附代码)

文档

使用Vue做出DIV拖拽

使用Vue做出DIV拖拽:这次给大家带来使用Vue做出DIV拖拽,的注意事项有哪些,下面就是实战案例,一起来看一下。效果图:HTML代码:<p id="box"> 位置 <br>x:{{val.x}} <br>y:{{val.y}} <p v-drag="greet
推荐度:
标签: 使用 VUE 使用vue
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top