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插件ajaxfileupload.js实现上传文件
Oct 23 Javascript
JS中dom0级事件和dom2级事件的区别介绍
May 05 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 Javascript
require、backbone等重构手机图片查看器
Nov 17 Javascript
JS查找字符串中出现最多的字符及个数统计
Feb 04 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
小程序如何获取多个formId实现详解
Sep 20 Javascript
JS实现滑动插件
Jan 15 Javascript
浅析Vue 中的 render 函数
Feb 28 Javascript
详细分析Node.js 模块系统
Jun 28 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
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
PHP数组实例总结与说明
2011/08/23 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
js表头排序实现方法
2015/01/16 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
python查找第k小元素代码分享
2013/12/18 Python
Python基础之函数用法实例详解
2014/09/10 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
小学安全工作汇报材料
2014/08/19 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
学校重阳节活动总结
2015/03/24 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
交流会主持词
2015/07/02 职场文书
三好学生竞选稿
2015/11/21 职场文书
高中数学教学反思范文
2016/02/18 职场文书