博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue实现跑马灯效果以及封装为组件发布
阅读量:7209 次
发布时间:2019-06-29

本文共 725 字,大约阅读时间需要 2 分钟。

Vue 实现跑马灯效果

前言

最近做活动需要做跑马灯效果,其他同事也有实现,本来打算复制他们代码,发现都是使用setInterval实现了,也没有封装为组件,所以自己用CSS3实现了一下跑马灯效果,并封装为组件,这样以后在需要写的时候,只需要引入组件就可以了。

实现的效果如下

实现思路

  • HTML 结构父盒子固定,子盒子移动,并包含需要效果的内容
  • 跑马灯效果 CSS3 实现肯定需要 infinite (循环执行动画)
  • 运动前需要计算父盒子的宽度(wrapWidth),还有子盒子的总宽度(offsetWidth)
  • 需要给定速度通过宽度计算出CSS3动画需要的时间duration

组件设计

向外暴露三个参数

  • content: 因为滚动的数据大部分都是后台获取的,监听 content,当 content 有值的时候开始滚动(content 可以是任何类型数据)
  • delay: 多久时开始执行动画只有第一次滚动时候生效(默认是 0.3s)
  • speed: 速度(默认 100)

源码实现如下

源码中大部分都添加了注释,如有问题请指出谢谢

复制代码

把源码发布到 npm 上

请参考我的另外一篇文章,

使用方法

npm install heyushuo-marquee --saveimport PaoMaDeng from 'heyushuo-marquee';
{
{item}}
复制代码

转载于:https://juejin.im/post/5c85c8375188257a323f5504

你可能感兴趣的文章
Unix Study之--AIX安装和配置SSH
查看>>
Silverlight粉丝们 让微软听到我们的声音
查看>>
领悟rrdtool
查看>>
perl_常用的函数
查看>>
转:iPhone之后,思考下一个科技突破(之二)
查看>>
如何将Ant下Web项目迁移到Hudson实现持续化集成开发
查看>>
根据XML配置规则导入Excel数据(三)准备验证工具类
查看>>
Python基础教程---读书笔记七
查看>>
Server Core 的部署与管理
查看>>
闲谈简单设计(KISS)疑惑
查看>>
●Misbehaving servers(服务器停止运转)
查看>>
在网页中嵌入任意格式的视频文件
查看>>
AIX更改逻辑卷属性的两种方法(smit和命令行)
查看>>
一统服务器桌面:安全狗新增杀毒功能
查看>>
有关extdelete恢复测试
查看>>
oracle init.ora常用配置详解
查看>>
App界面交互设计规范(转)
查看>>
IDEA9+Tomcat热部署配置
查看>>
FAQ系列 | ibdata1系统表空间文件都包含什么内容
查看>>
2018年,这100家AI公司值得关注!CB Insights选出AI 100第二季
查看>>