<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
vue-baberrage這個外掛本身有好多屬性使用後不生效,不知道是不是自己使用的問題 T_T
安裝彈幕外掛;
npm install vue-baberrage --save
建立vue元件,在元件中參照vue-baberrage;
import Vue from 'vue'; import { vueBaberrage, MESSAGE_TYPE } from 'vue-baberrage'; Vue.use(vueBaberrage);
html部分;
其中有幾個屬性設定後不生效,自己測試下吧;
<template> <div class="barrages-drop"> <vue-baberrage :isShow="barrageIsShow" :barrageList="barrageList" :maxWordCount="maxWordCount" :throttleGap="throttleGap" :loop="barrageLoop" :boxHeight="boxHeight" :messageHeight="messageHeight" > </vue-baberrage> </div> </template>
javaScript部分;
<script> import Vue from 'vue'; import { vueBaberrage, MESSAGE_TYPE } from 'vue-baberrage'; Vue.use(vueBaberrage); export default { name: 'barrages', //接收父元件傳遞過來的陣列資料 props:{ barrage:{ type:Array, required:true } }, data() { return { barrageIsShow: true, messageHeight: 50, boxHeight: 150, barrageLoop: true, boxWidth:800, //彈幕寬度 maxWordCount: 300, throttleGap: 5000, //訊息間隔 barrageList: [], barrage1: [], }; }, //因為父元件那邊介面執行會比元件生成慢,所以用watch監聽賦值 watch: { barrage: function(newVal,oldVal){ this.barrage1 = newVal; this.addToList(); } }, mounted() { }, methods: { addToList() { console.log(this.barrage1) this.barrage1.forEach((v) => { this.barrageList.push({ id: Math.round(Math.random()*5000), msg: v, time: this.randomNum(3,10), type: MESSAGE_TYPE.NORMAL, barrageStyle: '' }); }); }, // 生成指定亂數,作用於每條彈幕的速度 randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10); break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); break; default: return 0; break; } } } } </script>
css部分;
<style lang="scss"> .baberrage-item{ /*height: .5rem!important;*/ } //強行改變彈幕背景色 .baberrage-item .normal{ background: rgba(0,0,0,0.3)!important; } .normal{ .baberrage-msg{ /*padding: .1rem!important;*/ } .baberrage-avatar{ display: none; } //彈幕前頭像不展示 img{ display: none; } } .baberrage-avatar{ img{ width: 20px !important; height: 20px!important; } } .barrages-drop { .blue { border-radius: 100px; background: #e6ff75; color: #fff; } .green { border-radius: 100px; background: #75ffcd; color: #fff; } .red { background: rgba(0,0,0,0.1); color: red; } .yellow { border-radius: 100px; background: #dfc795; color: #fff; } .baberrage-stage { position: absolute; width: 100%; overflow: hidden; top: 0; } } </style>
就這把,都是我改過原來的樣式,跟原本的有差距,想要原本樣式,可以檢視他的檔案
git檔案地址:https://gitee.com/hoseapps/vue-baberrage
起因: 活動需求需要使用彈幕的形式展示內容
解決: 首先是找到一個vue-baberrage
然後使用起來看起來也沒有什麼問題,最後當我開啟瀏覽器rendering的paint flash發現重繪嚴重
最後找到一個vue-danmaku 元件,發現不會頻繁重繪
定位:彈幕移動使用transform改變位置,並使用will-change進行優化
will-change屬性通過告訴瀏覽器什麼屬性、什麼元素將會發生變化,可以對這些操作進行可能性的優化,由此提高CSS動畫的執行效率
大量的節點動畫渲染可以選擇canvas或者webgl進行開發
宣告: 我不是這兩者的開發者,只是使用者,如有錯誤,歡迎指出
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45