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


Posted in Javascript onNovember 24, 2019

先上图

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

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

弹幕区的页面:

<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微信小程序开发之实现一个弹幕评论,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JavaScript中Array 对象相关的几个方法
Dec 22 Javascript
jQuery 处理网页内容的实现代码
Feb 15 Javascript
JavaScript中两种链式调用实现代码
Jan 12 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
jquery ajax同步异步的执行最终解决方案
Apr 26 Javascript
js图片延迟加载的实现方法及思路
Jul 22 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
JSON取值前判断
Dec 23 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
Apr 28 Javascript
微信小程序实现原生步骤条
Jul 25 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
Nov 23 #Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 #Javascript
javascript 原型与原型链的理解及实例分析
Nov 23 #Javascript
jquery 插件重新绑定的处理方法分析
Nov 23 #jQuery
微信小程序实现录音功能
Nov 22 #Javascript
小程序实现按下录音松开识别语音
Nov 22 #Javascript
小程序采集录音并上传到后台
Nov 22 #Javascript
You might like
Php+SqlServer实现分页显示
2006/10/09 PHP
PHP中基本符号及使用方法
2010/03/23 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
js 深拷贝函数
2008/12/04 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python遍历pandas数据方法总结
2018/02/09 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
python如何判断IP地址合法性
2020/04/05 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
放飞梦想演讲稿200字
2014/08/26 职场文书
大客户经理岗位职责
2015/04/09 职场文书
跑吧孩子观后感
2015/06/10 职场文书
董事长新年致辞
2015/07/29 职场文书
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers