溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mpvue微信小程序開發(fā)之怎么實(shí)現(xiàn)一個(gè)彈幕評(píng)論

發(fā)布時(shí)間:2021-06-04 15:07:51 來源:億速云 閱讀:133 作者:小新 欄目:web開發(fā)

小編給大家分享一下mpvue微信小程序開發(fā)之怎么實(shí)現(xiàn)一個(gè)彈幕評(píng)論,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

先上圖

mpvue微信小程序開發(fā)之怎么實(shí)現(xiàn)一個(gè)彈幕評(píng)論

就是一個(gè)簡單的彈幕發(fā)送功能

彈幕區(qū)的頁面:

   <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" :>
      <image :src="item.result.faceImage" class="headImg" />
      <span class="name">{{item.result.name}}:</span>
      <span class="text">{{item.result.sendMessage}}</span>
     </p>
    </div>
   </div>

彈幕區(qū)的代碼邏輯:

// 彈幕參數(shù)
class Doomm {
 constructor(result, top, time, color, id) {
  //內(nèi)容,頂部距離,運(yùn)行時(shí)間,顏色,id(參數(shù)可自定義增加)
  /**
   * result數(shù)據(jù)結(jié)構(gòu)
   * 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;
 }
}
//隨機(jī)字體顏色
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("");
}
//節(jié)流函數(shù)
function throttle(fn, wait) {
 var canUse = true; // 設(shè)置一個(gè)開關(guān)
 return function(item) {
  if (!canUse) {
   return false;
  } // 如果開關(guān)已經(jīng)關(guān)掉了就不用往下了
  canUse = false; // 利用閉包剛進(jìn)來的時(shí)候關(guān)閉開關(guān)
  setTimeout(() => {
   fn(item);
   canUse = true; // 執(zhí)行完才打開開關(guān)
  }, wait);
 };
}
  //添加彈幕列表
  async barrageCyclic() {
   await this.Arr.forEach((ele, i) => {
    //往彈幕列表里面添加數(shù)據(jù)
    this.doommList.push(
     new Doomm(
      ele,
      Math.ceil(Math.random() * 70 + 10),
      Math.floor(Math.random() * 20 + 10),
      getRandomColor(),
      i
     )
    );
   });
   this.doommData = this.doommList;
  },

看完了這篇文章,相信你對(duì)“mpvue微信小程序開發(fā)之怎么實(shí)現(xiàn)一個(gè)彈幕評(píng)論”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI