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 学习笔记(九)call和apply方法
Jan 11 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
推荐JavaScript实现继承的最佳方式
Nov 11 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
May 06 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
javascript框架设计之种子模块
Jun 23 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
最常见和最有用的字符串相关的方法详解
Feb 06 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 Vue.js
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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
python requests post多层字典的方法
2018/12/27 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
pycharm new project变成灰色的解决方法
2019/06/27 Python
wxPython实现分隔窗口
2019/11/19 Python
django框架cookie和session用法实例详解
2019/12/10 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
列车长先进事迹材料
2014/01/25 职场文书
学生操行评语大全
2014/04/24 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
倡议书怎么写?
2019/04/11 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python