Vue-drag-resize 拖拽缩放插件的使用(简单示例)


Posted in Javascript onDecember 04, 2019

字幕

<div id="lBox" style="background-color: #D7E9F5;"
     :style="{'height': parentHeight + 'px', 'width': parentWidth + 'px'}">
     
 <drag-resize v-for="(rect,index) in texts"
       style="overflow: hidden;"
       :w="rect.BoxWidth"
       :h="rect.BoxHeight"
       :x="rect.BoxLeft"
       :y="rect.BoxTop"
       @resizing="textResize($event, index)" 
       @dragging="textResize($event, index)">
       
 <div style="width: 100%; height: 100%;"
 :style={backgroundColor:rect.BoxColor,opacity:rect.BoxOpacity}>
 </div><!-- 控制背景色及背景透明度 使背景透明度不影响字幕 -->
    
 <div style="width: 100%; height: 100%;">
    <p :class="rect.Direction === 'Left to Right' ? 'roll-right' : 'roll-left'"
      style="width: 100%; position:absolute; bottom:-0.25em;left:0px"
      :style="{color: rect.TextColor,fontFamily: rect.FontFile,
     fontSize: rect.FontSize+'px',
     opacity:rect.FontOpacity,
     animationDuration: rect.Speed + 's'}">
     {{rect.Text}}
    </p>
 </div>
 
 </drag-resize>

logo

<drag-resize v-for="(rect,index) in logos"
      :parentLimitation="true"
      :w="rect.Width"
      :h="rect.Height"
      :x="rect.Left"
      :y="rect.Top"
      @resizing="logoResize($event, index)" 
      @dragging="logoResize($event, index)">
       
    <div style="width: 100%;height: 100%;">
     <img :src="'/logos/' + rect.FileName"
      style="width: 100%;height: 100%;">
    </div>
    
 </drag-resize>
</div>

JS

textResize(newRect, index) {
  const BoxWidth = newRect.width+''
  this.texts[index].BoxWidth = BoxWidth.substring(0, BoxWidth.indexOf("."))

  const BoxHeight = newRect.height+''
  this.texts[index].BoxHeight = BoxHeight.substring(0, BoxHeight.indexOf("."))

  const BoxTop = newRect.top+''
  this.texts[index].BoxTop = BoxTop.substring(0, BoxTop.indexOf("."))

  const BoxLeft = newRect.left+''
  this.texts[index].BoxLeft = BoxLeft.substring(0, BoxLeft.indexOf("."))
 }

 logoResize(newRect, index) {
  const Width = newRect.width''
  this.logos[index].Width = Width.substring(0, Size.indexOf("."))
  
  const Height = newRect.height+''
  this.logos[index].Height = Height .substring(0, Size.indexOf("."))
  
  const Top = newRect.top+''
  this.logos[index].Top = Top.substring(0, Top.indexOf("."))

  const Left = newRect.left+''
  this.logos[index].Left = Left.substring(0, Left.indexOf("."))
 }

除此之外还有字幕向左或向右滚动的CSS

.roll-left {
 animation: wordsLoopLeft 6s linear infinite normal;
 }

 .roll-right {
 animation: wordsLoopRight 6s linear infinite normal;
 }

 @keyframes wordsLoopLeft {
 0% {
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
 }
 100% {
  transform: translateX(-40%);
  -webkit-transform: translateX(-40%);
 }
 }

 @keyframes wordsLoopRight {
 0% {
  transform: translateX(-40%);
  -webkit-transform: translateX(-40%);
 }
 100% {
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
 }
 }

And:

自定义字体在

总结

以上所述是小编给大家介绍的Vue-drag-resize 拖拽缩放插件的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery 学习之二 属性(类)
Nov 25 Javascript
FF IE浏览器修改标签透明度的方法
Jan 27 Javascript
js实现表单检测及表单提示的方法
Aug 14 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
Mar 09 Javascript
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
详谈for循环里面的break和continue语句
Jul 20 Javascript
浅谈mint-ui loadmore组件注意的问题
Nov 08 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
May 16 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
解决layui轮播图有数据不显示的情况
Sep 16 Javascript
使用zrender.js绘制体温单效果
Oct 31 Javascript
vant中的toast层级改变操作
Nov 04 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 #jQuery
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 #Javascript
Vue实现base64编码图片间的切换功能
Dec 04 #Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 #Javascript
Vue实现图片与文字混输效果
Dec 04 #Javascript
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 #Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 #Javascript
You might like
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
js实现全选和全不选
2020/07/28 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python简单定义与使用二叉树示例
2018/05/11 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Django缓存Cache使用详解
2020/11/30 Python
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
应聘美工求职信
2013/11/07 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
生产部统计员岗位职责
2014/01/05 职场文书
毕业自我鉴定书
2014/03/24 职场文书
投标承诺书范本
2014/03/27 职场文书
好听的队名和口号
2014/06/09 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
公司辞职信模板
2015/05/13 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
成人成长感言如何写?
2019/08/16 职场文书
node快速搭建后台的实现步骤
2022/02/18 NodeJs
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers