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 相关文章推荐
javascript中对对层的控制
Dec 29 Javascript
WordPress JQuery处理沙发头像
Jun 22 Javascript
Javascript中Event属性搜集整理
Sep 17 Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 Javascript
jQuery实现图片走马灯效果的原理分析
Jan 16 Javascript
js实现文字滚动效果
Mar 03 Javascript
基于Vue如何封装分页组件
Dec 16 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
jQuery插件zTree实现删除树节点的方法示例
Mar 08 Javascript
es6学习之解构时应该注意的点
Aug 29 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 Javascript
vue脚手架项目创建步骤详解
Mar 02 Vue.js
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
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
图片之间的切换
2006/06/26 Javascript
javascript编程起步(第七课)
2007/02/27 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
详解JS预解析原理
2020/06/16 Javascript
python开发之字符串string操作方法实例详解
2015/11/12 Python
bpython 功能强大的Python shell
2016/02/16 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
幼儿园运动会加油词
2014/02/14 职场文书
安全协议书范本
2014/04/21 职场文书
运动会横幅标语
2014/06/17 职场文书
横幅标语大全
2014/06/17 职场文书
平面设计师岗位职责
2014/09/18 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
见义勇为事迹材料
2014/12/24 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
大队委员竞选稿
2015/11/20 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
分享3个非常实用的 Python 模块
2022/03/03 Python
Python四款GUI图形界面库介绍
2022/06/05 Python