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 - 如何引入js代码
Mar 09 Javascript
Javascript 面向对象编程(coolshell)
Mar 18 Javascript
jquery实现非叠加式的搜索框提示效果
Jan 07 Javascript
JQuery 图片滚动轮播示例代码
Mar 24 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
学习JavaScript设计模式之单例模式
Jan 19 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
JS+DIV实现的卷帘效果示例
Mar 22 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
vue路由的配置和页面切换详解
Sep 09 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
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
简述Python中的面向对象编程的概念
2015/04/27 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
python3.7 的新特性详解
2019/07/25 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
什么是Python变量作用域
2020/06/03 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
后勤部长岗位职责
2013/12/14 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
xxx同志考察材料
2014/02/07 职场文书
师德师风建设方案
2014/05/08 职场文书
校园环保标语
2014/06/13 职场文书
检讨书格式
2015/05/07 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书