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 相关文章推荐
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
JavaScript中判断数据类型的方法总结
May 24 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
深入理解Vuex 模块化(module)
2017/09/26 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
python实现网站的模拟登录
2016/01/04 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
初二政治教学反思
2014/01/12 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
离职报告范文
2014/11/04 职场文书
介绍信模板
2015/01/31 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
详解Python描述符的工作原理
2021/06/11 Python