mpvue微信小程序开发之实现一个弹幕评论

时间:2021-05-26

先上图

就是一个简单的弹幕发送功能

弹幕区的页面:

<div class="content" v-show="doommData.length"> <div class="textLeft"></div> <div class="textItem"> <p class="text aon" v-if="item.display" v-for="(item,index) in doommData" :key="index" :id="item.id" :style="{'animation-duration':item.time+'s', top:item.top+'%',color:'#333',background:item.result.bgColor}"> <image :src="item.result.faceImage" class="headImg" /> <span class="name">{{item.result.name}}:</span> <span class="text">{{item.result.sendMessage}}</span> </p> </div> </div>

弹幕区的代码逻辑:

// 弹幕参数class Doomm { constructor(result, top, time, color, id) { //内容,顶部距离,运行时间,颜色,id(参数可自定义增加) /** * result数据结构 * faceImage:"", * bgColor: "#57B2FF", * sendMessage: "66666", * sendTime: "2019-11-06 15:10:15", * name: "eve" * */ this.result = result; this.top = top; this.time = time; this.color = color; this.display = true; this.id = id; }}//随机字体颜色getRandomColor() { let rgb = []; for (let i = 0; i < 3; ++i) { let color = Math.floor(Math.random() * 256).toString(16); color = color.length == 1 ? "0" + color : color; rgb.push(color); } return "#" + rgb.join("");}//节流函数function throttle(fn, wait) { var canUse = true; // 设置一个开关 return function(item) { if (!canUse) { return false; } // 如果开关已经关掉了就不用往下了 canUse = false; // 利用闭包刚进来的时候关闭开关 setTimeout(() => { fn(item); canUse = true; // 执行完才打开开关 }, wait); };} //添加弹幕列表 async barrageCyclic() { await this.Arr.forEach((ele, i) => { //往弹幕列表里面添加数据 this.doommList.push( new Doomm( ele, Math.ceil(Math.random() * 70 + 10), Math.floor(Math.random() * 20 + 10), getRandomColor(), i ) ); }); this.doommData = this.doommList; },

总结

以上所述是小编给大家介绍的mpvue微信小程序开发之实现一个弹幕评论,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章