公司的管理系统中有“文字间歇无缝向上滚动”的需求,现在这种需求基本在项目开发中已经消失了,没什么新颖的,但架不住公司高层喜欢这种玩意儿,所以,作为开发人员,即使你有一百个不乐意,谁让是人家给你发工资呢!!!

其实,这种用在vue项目中的需求跟原生js的实现方法基本一致,且实现的方法有多种,今天就单拎出来一种实现方法吧:

<div class="scroll-up" ref="scroll">
<ul>
<li v-for="item in scrollData" :key="item.id"><router-link to="">{{item.title}}</router-link></li>
</ul>
</div>
export default {
data() {
return {
scrollData: [
{ id: 1, title: '架不住公司高层喜欢这种玩意儿' },
{ id: 2, title: '用在vue项目中的需求跟原生js的实现方法' },
{ id: 3, title: '文字间歇无缝向上滚动' },
{ id: 4, title: '即使你有一百个不乐意,谁让是人家给你发工资呢' },
{ id: 5, title: '今天就单拎出来一种实现方法' },
],
scrollArea: '',
speed: 20,
timer: null,
delay: 3000,
liHeight: '',
};
},
mounted() {
this.$nextTick(() => {
this.scrollArea = this.$refs.scroll;
let li = this.scrollArea.getElementsByTagName("li");
this.liHeight = li[0].offsetHeight;
this.scrollArea.scrollTop = 0;
this.scrollArea.innerHTML += this.scrollArea.innerHTML; this. scrollData.length > 1 && setTimeout(this.startScroll, this.delay);
})
},
methods: {
startScroll(){
this.timer = setInterval(this.scrollUp, this.speed);
this.scrollArea.scrollTop++;
},
scrollUp(){
if(this.scrollArea.scrollTop % this.liHeight == 0){
clearInterval(this.timer);
setTimeout(this.startScroll, this.delay);
}else{
this.scrollArea.scrollTop++;
if(this.scrollArea.scrollTop >= this.scrollArea.scrollHeight / 2){
this.scrollArea.scrollTop = 0;
}
}
},
}
}
<style scoped>
.scroll-up{height:50px;line-height:50px;overflow:hidden;}
</style>

就酱!

最新文章

  1. 基于JQuery实现的文本框自动填充功能
  2. Hadoop第1~2周练习—Hadoop1.X和2.X安装
  3. uboot启动流程
  4. C#MongoDB 分页查询的方法及性能
  5. 实用lsof常用命令行
  6. JQuery中的表单验证及相关的内容
  7. Kali Linux常用服务配置教程安装及配置DHCP服务
  8. 转载 * jQuery实现动态分割div—通过拖动分隔栏实现上下、左右动态改变左右、上下两个相邻div的大小
  9. 获取数值型数组中大于60的元素个数,给数值型数组中不足60分的加20分。(数组,for循环,if条件判断语句)
  10. CentOS6 YUM安装MariaDB10.3.10
  11. SQLServer 2008R2 清理日志文件
  12. 用到临时表空间的几种SQL
  13. backdoor-factory
  14. Java反射1——扫描某个包下的所有类
  15. 15 int *ptr= (int *)(&amp;a+1)跨了整个数组长度
  16. 百度网盘下载器 PanDownload v2.0
  17. P4838 P哥破解密码
  18. 专业分析docker的分层存储技术
  19. C# List的深复制
  20. (zxing.net)一维码EAN 13的简介、实现与解码

热门文章

  1. windows下检出项目和提交项目
  2. HTML静态网页--图片热点
  3. tp5 select出来数据集(对象)转成数组
  4. springmvc 多文件/文件夹上传 下载
  5. Java发送邮件Demo
  6. requires php ~7.1 -&gt; your PHP version (7.0.18) does not satisfy that requirement
  7. Educational Codeforces Round 54 (Rated for Div. 2) D Edge Deletion (SPFA + bfs)
  8. dotnet 使用 GC.GetAllocatedBytesForCurrentThread 获取当前线程分配过的内存大小
  9. linux 基于 jiffy 的超时
  10. python写的有声小说爬虫