美文网首页互联网科技码农的世界
程序员百度面试,10分钟原生JS实现斗鱼弹幕效果,成功拿到off

程序员百度面试,10分钟原生JS实现斗鱼弹幕效果,成功拿到off

作者: 0c62f7d0fa8c | 来源:发表于2019-10-09 15:21 被阅读0次

    今天逛论坛看到一位大佬去百度面试,10分钟用原生JS写了一个简单的斗鱼直播弹幕效果,成功拿到了offer,分享给头条上的小伙伴学习,因为本身还是挺简单的,对于刚学的小伙伴也可以自己练习下,毕竟也是一个小案例嘛,看看大家能不能够轻松的写出这个小东西吧,下面开始分享了

    弹幕时近几年新兴的一种技术,接下来我要展示的就是怎么实现类似弹幕的效果。

    先贴下效果图:

    说是效果,要拿出去用肯定是不行的。

    先说一下是怎么样的实现方法。弹幕肯定是出现在屏幕上,所以我们暂时把出现弹幕的窗口称为背景。

    弹幕肯定尽量不能重叠在一起,所以我把整个弹幕出现的背景划分为几块,如下图:

    什么意思呢?就是这里有5条弹道,弹幕就是出现在这5条弹道之间的一条。具体划多少条弹道,每条弹道的宽度要看你的背景和你自己的设计了。

    好了,弹道有了,怎么创建弹幕呢?这里我们用到了appendChild方法,每个弹幕的内容都是随机的。然后我固定了弹幕的数量,并且加了定时器,

    当弹幕到达左边时,弹幕内容再次随机,输入框发送的弹幕出现一次后,将内容加入到预备词库中,并将此弹幕删除。防止弹幕过多报错。

    同时每个弹幕出现的时机肯定不能相同,所以我在每个弹幕最开始出现时加了延迟。

    大概的设计就是这样了,这里还是总结一下存在的问题:

    1.弹幕有时会出现同时出现在同一个弹道上,甚至重叠,暂时还没找到原因。

    2.当输入框连续多次发送弹幕时,可能会因为弹道不够出现意外的情况。

    3.与真正的弹幕相比,只是简易版的,功能单一。

    代码贴上:

    欢迎关注公众号:“前端逸辰”,获取更多前端知识精粹和学习社群:

    回复 学习路径,将获取笔者多年从业经验的前端学习路径的思维导图

    Vue、React、小程序、Node

    相关文章

      网友评论

        本文标题:程序员百度面试,10分钟原生JS实现斗鱼弹幕效果,成功拿到off

        本文链接:https://www.haomeiwen.com/subject/hnrgpctx.html