小玩具:簡易彈幕效果

彈幕是最近幾年流行起來的東西泌绣,現(xiàn)在基本上大的視頻網(wǎng)站都配備有彈幕的功能吗垮,比如bilibili着绷,優(yōu)酷等棚瘟,那么這種功能是怎么實現(xiàn)的呢殿怜?

首先彈幕的字色是隨機的怀浆,然后是有動畫效果移動的恬叹,并且出現(xiàn)的Y軸位置不一樣腹躁,考慮好這些特點后就可以開始制作了

今天就來做一個單機版的彈幕吧退个。

要看源碼的直接拉到最底下

第一步募壕、寫html和css,讓彈幕框初現(xiàn)原形

這一步需要有一個發(fā)射彈幕的按鈕和一個清理彈幕的按鈕语盈,當然一個彈幕框也是必不可少的舱馅,此外還需要一個輸入框,用來輸入彈幕的內(nèi)容刀荒;

寫html和css

第二步代嗤、獲取按鈕、輸入框和彈幕框的dom節(jié)點

獲取節(jié)點

第三步缠借、創(chuàng)建隨機色函數(shù)

大家都知道在css中干毅,顏色可以用十六位進制的#000000形式表示,也可以用英文單詞表示泼返,當然還有rgb形式表示硝逢。但是在創(chuàng)建隨機顏色這里,最簡單的是用rgb形式的顏色表達绅喉,原因是他的表示全是純數(shù)字渠鸽,并且范圍在,所以可以使用數(shù)學對象的Math.random()單獨為r霹疫、g拱绑、b各創(chuàng)建一個范圍在(0~255)內(nèi)的隨機整數(shù),在返回出一個字符串丽蝎,方便后面添加猎拨;

創(chuàng)建隨機色函數(shù)

第四步、創(chuàng)建隨機top的函數(shù)

在這步創(chuàng)建隨機top的函數(shù)屠阻,我們需要考慮彈幕框的高度红省,然后創(chuàng)建出在彈幕框高度以內(nèi)的一個整數(shù)隨機數(shù),比如我的就是這樣設定的:

創(chuàng)建隨機top

第五步国觉、創(chuàng)建一個返回animation屬性字符串的函數(shù)吧恃,用以備用

這一步需要先了解animation屬性,可以看看我的這一篇文章(CSS3中的animation動畫屬性簡介
在這一步麻诀,因為我想要彈幕劃過屏幕的時間也是隨機的痕寓,單范圍不需要太大的傲醉,所以我制定了(15~25)秒這樣的時間范圍:

制定animation屬性函數(shù)

這一步還需要在css代碼中添加@keyframes動畫制定代碼

第六步、編寫邏輯結(jié)構(gòu)

  • 發(fā)射彈幕

1.首先呻率,我們需要先給發(fā)射按鈕綁定click事件硬毕,然后讓它在點擊后創(chuàng)建一個p元素

2.這里我們要獲取用戶在輸入框輸入的字符串礼仗,可以用node.value得到吐咳,再將該字符串插入到p元素中,可以用使用node.innerText插入元践,結(jié)合起來就是node.innerText = node.value

3.使用node.style為新創(chuàng)建的p元素添加樣式韭脊,注意有中橫線鏈接的樣式名要改駝峰寫法:

為彈幕元素p添加樣式

4.點擊后去掉輸入框的字樣,并且將創(chuàng)建的彈幕p元素node.appendChild()方法添加進彈幕框成為彈幕框的子元素:

  1. 這下子我們就可以發(fā)射彈幕了单旁,來看看整個事件是怎么樣的吧:


  • 清理彈幕
    清理彈幕實現(xiàn)原理就很簡單了沪羔,直接把彈幕框里面的HTML變遷全部清理掉就好了,這里使用了node.innerHTML = 空字符串的方法慎恒;
清理彈幕

這里就是總體的效果還有源碼地址

源碼地址

效果圖:

彈幕效果

文章著作權歸饑人谷_大春和饑人谷所有任内,轉(zhuǎn)載須說明來源

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市融柬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌趋距,老刑警劉巖粒氧,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異节腐,居然都是意外死亡外盯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門翼雀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饱苟,“玉大人,你說我怎么就攤上這事狼渊∠浒荆” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵狈邑,是天一觀的道長城须。 經(jīng)常有香客問我,道長米苹,這世上最難降的妖魔是什么糕伐? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蘸嘶,結(jié)果婚禮上良瞧,老公的妹妹穿的比我還像新娘陪汽。我一直安慰自己,他們只是感情好褥蚯,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布挚冤。 她就那樣靜靜地躺著,像睡著了一般遵岩。 火紅的嫁衣襯著肌膚如雪你辣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天尘执,我揣著相機與錄音舍哄,去河邊找鬼。 笑死誊锭,一個胖子當著我的面吹牛表悬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丧靡,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蟆沫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了温治?” 一聲冷哼從身側(cè)響起饭庞,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熬荆,沒想到半個月后舟山,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡卤恳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年累盗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片突琳。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡若债,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拆融,到底是詐尸還是另有隱情蠢琳,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布冠息,位于F島的核電站挪凑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逛艰。R本人自食惡果不足惜躏碳,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧菇绵,春花似錦肄渗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至永乌,卻和暖如春惑申,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背翅雏。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工圈驼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人望几。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓绩脆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橄抹。 傳聞我的和親對象是個殘疾皇子靴迫,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容