时间:2021-05-26
(1)效果
如上图所示的效果,这里我们使用vue 制作。
(2)使用技术 vue + vue-baberrage
1.安装:
npm install vue-baberrage
2.引入
方式一:
import Vue from 'vue'import { vueBaberrage } from 'vue-baberrage'Vue.use(vueBaberrage)方式二:
const vueBaberrage = request('vue-baberrage').vueBaberrage方式三:
<script src="./dist/vue-baberrage.js"></script>3.使用
HTML
<div id="app"><vue-baberrage :isShow= "barrageIsShow" :barrageList = "barrageList" :loop = "barrageLoop" > </vue-baberrage></div>JS
import { MESSAGE_TYPE } from 'vue-baberrage'export default { name: 'app', data () { return { msg: 'Hello vue-baberrage', barrageIsShow: true, currentId : 0, barrageLoop: false, barrageList: [] } }, methods:{ addToList (){ this.barrageList.push({ id: ++this.currentId, avatar: "./static/avatar.jpg", msg: this.msg, time: 5, type: MESSAGE_TYPE.NORMAL, }); ...(3)实例演示
这个封装成一个 vue的组件:
<template> <div class="barrages-drop"> <vue-baberrage :isShow="barrageIsShow" :barrageList="barrageList" :maxWordCount="maxWordCount" :throttleGap="throttleGap" :loop="barrageLoop" :boxHeight="boxHeight" :messageHeight="messageHeight" > </vue-baberrage> </div></template><script>import Vue from 'vue';import { vueBaberrage, MESSAGE_TYPE } from 'vue-baberrage';Vue.use(vueBaberrage);export default { name: 'Barrages', data() { return { msg: '马优晨就是个辣鸡~', barrageIsShow: true, messageHeight: 3, boxHeight: 150, barrageLoop: true, maxWordCount: 3, throttleGap: 5000, barrageList: [] }; }, mounted() { this.addToList(); }, methods: { addToList() { let list = [ { id: 1, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 3, barrageStyle: 'red' }, { id: 2, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 8, barrageStyle: 'green' }, { id: 3, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 10, barrageStyle: 'normal' }, { id: 4, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 5, barrageStyle: 'blue' }, { id: 5, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 6, barrageStyle: 'red' }, { id: 6, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 12, barrageStyle: 'normal' }, { id: 7, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 5, barrageStyle: 'red' }, { id: 8, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 5, barrageStyle: 'normal' }, { id: 9, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 8, barrageStyle: 'red' }, { id: 10, avatar: 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3064584167,3502823640&fm=26&gp=0.jpg', msg: this.msg, time: 10, barrageStyle: 'yellow' } ]; list.forEach((v) => { this.barrageList.push({ id: v.id, avatar: v.avatar, msg: v.msg, time: v.time, type: MESSAGE_TYPE.NORMAL, barrageStyle: v.barrageStyle }); }); } }};</script><style lang="less">.barrages-drop { .blue { border-radius: 100px; background: #e6ff75; color: #fff; } .green { border-radius: 100px; background: #75ffcd; color: #fff; } .red { border-radius: 100px; background: #e68fba; color: #fff; } .yellow { border-radius: 100px; background: #dfc795; color: #fff; } .baberrage-stage { position: absolute; width: 100%; height: 212px; overflow: hidden; top: 0; margin-top: 130px; }}</style>github地址:
https://github.com/superhos/vue-baberrage/blob/master/docs/zh/README.md#plugin-options
总结
以上所述是小编给大家介绍的vue实现弹幕功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
今天闲着无聊,写了个弹幕APP,主要实现以下几个功能:1.点击“弹幕发射”或回车可以输出弹幕到弹幕墙上。2.弹幕的运行轨迹是从弹幕墙的最右边到最左边,Y轴的数值
前言 简单实现弹幕功能,表跟我谈效率,但也有用队列控制同时弹的数量。正文代码实现:?1234567891011121314151617181920212223
简介最近在做大作业的时候需要做一个弹幕播放器。借鉴了一下别人的源码自己重新实现了一个,演示如下主要的功能有发送弹幕设置弹幕的颜色,速度和类型显示弹幕已知缺陷:不
芒果TV自是带弹幕功能的,没有显示弹幕功能的原因有: 1、芒果TV系统正在升级,弹幕开关暂时关闭,等待升级结束,弹幕开关便会恢复正常。 2、芒果TV网页版设
微信小程序vidao视频播放及弹幕的功能的实现。vidao我现在看到的官方文档是不带danmu(弹幕)属性的,之前是有的,不过现在这个属性还可以生效。控制视频的