1.barrage.less

html,body{width:100%;
}
.cute-barrage{width: 100%;height: 100px;  /*确定弹幕长度*/position: absolute;top: 1.5rem;   /*确定弹幕高度*/left: 0;overflow-y: hidden;  /*横向超出部分隐藏*/.barrage-div{position: absolute;left: 0;bottom: 0;  /*保证一开始在界面外侧,从右向左就是right,从左向右就是left*/height: 0.6rem;background-color: rgba(255, 255, 255, 0.9);border-radius: 2rem;white-space: nowrap;   /*确保内容在一行显示,不然移动到最后会折行*/img{width: 0.5rem;height: 0.5rem;vertical-align: middle;  //内联块元素,居中对齐padding-left: 0.05rem;border-radius: 50%;}span{font-size: 14px;padding: 0 0.1rem;line-height: 0.6rem;    //内联块元素,居中对齐四个缺一不可height: 0.6rem;      //内联块元素,居中对齐四个缺一不可display: inline-block;       //内联块元素,居中对齐四个缺一不可vertical-align: middle;      //内联块元素,居中对齐四个缺一不可i{color: #fe5453;font-weight: 700;}}}
}

2.barrage.vue

<style lang="less" src="./barrage.less"></style>
<template><div class="barrage"><div class="cute-barrage"><div class="barrage-div"><imgsrc="http://kw1-1253445850.file.myqcloud.com/static/image/stimg_7656dc02eb1cd13adbacbdd2695dc3a8.jpg"/><span>么么嗒今天提现<i>1Q币</i></span></div><div class="barrage-div"><imgsrc="http://kw1-1253445850.file.myqcloud.com/static/image/stimg_632fecdcb52417cb8ab89fa283e07281.jpg"/><span>橘色的大耳朵猫今天提现<i>5Q币</i></span></div><div class="barrage-div"><imgsrc="http://kw1-1253445850.file.myqcloud.com/static/image/stimg_632fecdcb52417cb8ab89fa283e07281.jpg"/><span>丶鹿锅里面装着吴奶包今天提现<i>3Q币</i></span></div></div></div>
</template><script>
export default {name: "barrage",components: {},props: {},data() {return {};},watch: {},computed: {},methods: {},created() {},mounted() {for (let i = 0;i < document.getElementsByClassName("barrage-div").length;i++) {var height = document.getElementsByClassName("barrage-div")[i].clientHeight;document.getElementsByClassName("barrage-div")[i].style.bottom = -height;//   document.getElementsByClassName("barrage-div")[i].style.top = topRandom; //将弹幕移动到屏幕外面,正好超出的位置//拼写动画帧函数,记得每个ani要进行区分,宽度从自己的负宽度移动一整个屏幕的距离var keyframes = `\    @keyframes ani${i}{   form{bottom:${-height}px;}to{bottom:100px;}}\    @-webkit-keyframes ani${i}{form{bottom:${-height}px;}to{bottom:100px;}}`;// 创建style标签const style = document.createElement("style");// 设置style属性style.type = "text/css";// 将 keyframes样式写入style内style.innerHTML = keyframes;// 将style样式存放到head标签document.getElementsByTagName("head")[0].appendChild(style);//定义动画速度列表var aniList = [4, 4, 4, 4, 4];//取数组的随机数,0,1,2,3,4var aniTime = Math.floor(Math.random() * 5);//给当全前弹幕添加animation的css//延迟的时间用每个的*1.5倍,这个可变document.getElementsByClassName("barrage-div")[i].style.animation=`ani${i} ${aniList[aniTime]}s linear ${i * 1.5}s`document.getElementsByClassName("barrage-div")[i].style.webkitAnimation=`ani${i} ${aniList[aniTime]}s linear ${i * 1.5}s`}}
};
</script>

vue实现直播弹幕功能相关推荐

  1. 【干货篇】Vue实现直播弹幕功能

    Vue实现直播弹幕 前言 上一篇文章我们讲述了如何用UniApp和Vue在搭建Nginx直播流媒体服务器后实现直播的功能,那么直播中必不可少的一部分就是弹幕,能够增加直播气氛同时,了解用户对于直播或者 ...

  2. vue如何实现弹幕功能

    这篇文章将为大家详细讲解有关vue如何实现弹幕功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获. (1)效果 如上图所示的效果,这里我们使用vue 制作. (2)使 ...

  3. 我的世界服务器显示弹幕,我的世界直播弹幕模组

    模组简介 这是一个辅助直播弹幕显示的 Minecraft 模组.只需要丢进模组文件夹.启动游戏.设定房间号即可连接直播弹幕服务器,实现在游戏内输出直播弹幕功能. 具体效果如下图所示: 目前支持 Bil ...

  4. 直播电商平台开发,video组件实现视频弹幕功能

    直播电商平台开发,video组件实现视频弹幕功能 发送弹幕 WXML文件代码如下: <!--pages/video/video.wxml--> <video class=" ...

  5. 使用vue控制video视频和弹幕功能

    2020-02-19 前两天想说练一下vue,就按照bilibili写了一个demo(我第一次放这种模仿的页面,如果有哪里不合适的请告诉我哈),就写了比较核心的首页和视频播放页,包括控制视频和弹幕渲染 ...

  6. Android弹幕功能实现,模仿斗鱼直播的弹幕效果

    转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/51933728 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

  7. 基于android的防抖音直播,基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能...

    一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...

  8. vue简单实现多功能弹幕(比上一个好)

    插件地址GitHub - hellodigua/vue-danmaku: 基于Vue.js的弹幕交互组件https://github.com/hellodigua/vue-danmaku git地址  ...

  9. 女朋友天天看直播,问我能不能写个JS弹幕功能?

    导语: 刚刚看到女朋友发来的消息,说我能不能做个b站的弹幕功能 做出来了晚上可以不用睡沙发,这把我激动的,,,,, 女朋友跟我的聊天记录如下: 我立马就去b站跟各大博客网站浏览技术去了 哈哈,反正这个 ...

最新文章

  1. DllMain中不当操作导致死锁问题的分析--进程对DllMain函数的调用规律的研究和分析
  2. docker部署minio
  3. linux环境变量堆栈,情景linux--如何摆脱深路径的频繁切换烦恼?
  4. 2寸的照片长宽各是多少_贵州公务员考试照片尺寸要求是多少
  5. 对double值进行四舍五入,保留两位小数的几种方法
  6. java记账软件开发_Java项目之家庭记账软件
  7. LordPE v1.4 by yoda
  8. 微服务网关Gateway和搭建
  9. canvas画布的基本教程
  10. 百度脑图制作的简单的个人介绍
  11. git fork 什么意思
  12. webgl天空盒边界缝隙_基于webGL技术的3D库ThingJS支持天空盒技术实现
  13. 鸿蒙系统学习笔记(一) 鸿蒙系统介绍
  14. C处理命令行参数 getopt 用法
  15. 网速快慢与网线材质的选择关系
  16. GBase XDM初识
  17. 为什么是百度先造出了“知识型网红”
  18. 33_ue4进阶末日生存游戏开发[拾取面板UI]
  19. 360无线网卡linux,求助,无线网卡快被搞疯了。360wifi2代
  20. 绘图技巧 | 超多种类在线可视化图表制作工具推荐

热门文章

  1. [从头读历史] 第250节 图解易经(上)
  2. GBASE数据库助力城市轨道交通数据信息国产化
  3. Android 自动填写验证码
  4. 忘不了的伤---姜玉阳在线试听,忘不了的伤下载,忘不了的伤---姜玉阳歌词
  5. 压滤机入料泵的安装以及试运行要领
  6. 这就是不一样的你,不一样的烟火
  7. 光度立体(一)- 基于先验信息的快速表面法向量求解
  8. 台式电脑键盘按f1是计算机怎么办,按F1才能进系统怎么办?电脑开机需要按f1才能进入系统的解决办法...
  9. 最新Connectify注冊码(序列号) Connectify3.7序列号 破解版
  10. 在调试时出现:~处有未经处理的异常: 0xC0000005: 读取位置 0xcccccccc 时发生访问冲突