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

 更新时间:2019年11月24日 08:06:31   作者:我正经七百九十九  
这篇文章主要介绍了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微信小程序开发之实现一个弹幕评论,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • 尤大大新活petite-vue的实现

    尤大大新活petite-vue的实现

    打开尤大大的GitHub,发现多了个叫 petite-vue 的东西,Vue3 和 Vite 还没学完呢,又开始整新东西了?本文就来介绍一下
    2021-07-07
  • vue在mounted中window.onresize不生效问题及解决

    vue在mounted中window.onresize不生效问题及解决

    这篇文章主要介绍了vue中在mounted中window.onresize不生效问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 关于Vue组件库开发详析

    关于Vue组件库开发详析

    这篇文章主要给大家介绍了关于Vue组件库开发的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • web前端vue实现插值文本和输出原始html

    web前端vue实现插值文本和输出原始html

    这篇文章主要介绍了web前端vue实现插值文本和输出原始html,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Vue3实现Emoji表情的四种方案

    Vue3实现Emoji表情的四种方案

    聊天工具的项目开发到了表情功能,由于目前会话的输入区域使用的是 textarea 而非富文本编辑器,所以表情功能也需要兼顾 textarea 进行开发,本文给大家简单聊聊几种表情的实现方,感兴趣的小伙伴一起来看看吧
    2025-01-01
  • 基于mpvue的简单弹窗组件mptoast使用详解

    基于mpvue的简单弹窗组件mptoast使用详解

    这篇文章主要介绍了基于mpvue的简单弹窗组件mptoast使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Vue3中实现代码高亮的两种方法(prismjs和highlight.js)

    Vue3中实现代码高亮的两种方法(prismjs和highlight.js)

    最近忙着开发自己的博客系统,在做界面展示的时候,需要让代码高亮,于是经过在网上查阅,发现有两款比较好用的插件实现代码高亮,分别是prismjs和highlight.js,下面我分别介绍下,方便给需要的同学参考
    2025-04-04
  • 实现shallowReadonly和isProxy功能示例详解

    实现shallowReadonly和isProxy功能示例详解

    这篇文章主要为大家介绍了实现shallowReadonly和isProxy功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 详解vue.js的事件处理器v-on:click

    详解vue.js的事件处理器v-on:click

    本篇文章主要介绍了详解vue.js的事件处理器v-on:click,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • vue-devtools安装使用全过程

    vue-devtools安装使用全过程

    这篇文章主要介绍了vue-devtools安装使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论