基于JS简单实现手持弹幕功能+文字抖动特效代码

 更新时间:2021年03月31日 12:03:00   作者:aimengmei  
这篇文章主要介绍了基于JS简单实现手持弹幕功能+文字抖动特效代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前段时间抖音上有个抖动弹幕挺火的,于是决定仿写一个,话不多说,先看效果…

效果展示

在这里插入图片描述

GIF图看着有点模糊,但实际效果还是不错的。

第一眼看上去也不知道该咋做,那就先把要实现的功能拆解一下吧。

  1. 生成一个铺满全屏的黑色背景,写上文字,然后内容居中
  2. 实现无缝滚动
  3. 实现文字抖动特效
  4. 旋转90度(默认横屏展示)

代码如下

.html

 <div class="barrage-box">
  <div class="text">抖动字幕</div>
 </div>

.css

.barrage-box {
  width: 100vh;
  height: 100vw;
  transform-origin: 50vw 50vw;
  transform: rotate(90deg);
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  overflow: hidden;
  animation: aniShake 0.5s linear infinite;
 }

 .text {
  width: 100%;
  font-size: 50px;
  color: #FFF;
  animation: aniMove 5s linear infinite;
  animation-fill-mode: forwards;
 }

 /* 文字滚动 */
 @keyframes aniMove {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
 }
 
 /* 抖动字幕效果 */
 @keyframes aniShake {
  0%, 33% { text-shadow: 3px -3px 0px #FE008E, -5px 5px 0px #00FFFF; }
  34%, 66% { text-shadow: 5px -5px 0px #FE008E, -3px 3px 0px #00FFFF; }
  67%, 100% { text-shadow: 3px -3px 0px #00FFFF, -5px 5px 0px #FE008E; }
 }

至此,一个包含抖动和滚动特效的手持弹幕功能就实现了。

功能并不复杂,开始我是想着用canvas画出来,但是在小程序里canvas这样的原生组件层级比较高,要是想切换特效写个修改配置的弹窗啥的,不太好弄。所以就研究了一下用css3写出来了,在这里我只想说:“css3 牛哔———!!!”

小程序内更多配置效果预览

最近自己做了个小程序,手持弹幕这个功能也加进去了,而且实现了更多功能,还能把自己配置好的内容分享给好友,欢迎大家扫码体验,支持…

在这里插入图片描述

总结 第一次写博客,删删减减整了一下午,也不太会写文章,但还是硬着头皮写完了,毕竟人总要学会自己长大......

到此这篇关于基于JS简单实现手持弹幕功能+文字抖动特效代码的文章就介绍到这了,更多相关js手持弹幕文字抖动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 纯JS开发baguetteBox.js响应式画廊插件

    纯JS开发baguetteBox.js响应式画廊插件

    这篇文章主要介绍了纯JS开发baguetteBox.js响应式画廊插件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 小程序scroll-view安卓机隐藏横向滚动条的实现详解

    小程序scroll-view安卓机隐藏横向滚动条的实现详解

    这篇文章主要介绍了小程序scroll-view安卓机隐藏横向滚动条的实现详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • JS闭包原理及其使用场景解析

    JS闭包原理及其使用场景解析

    这篇文章主要介绍了JS闭包原理及其使用场景解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • js实现无限级树形导航列表效果代码

    js实现无限级树形导航列表效果代码

    这篇文章主要介绍了js实现无限级树形导航列表效果代码,通过一个封装的JS类实现无限树形导航的效果,非常简单实用,需要的朋友可以参考下
    2015-09-09
  • 小程序实现选择题选择效果

    小程序实现选择题选择效果

    这篇文章主要为大家详细介绍了小程序实现选择题选择效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • javascript中的undefined和not defined区别示例介绍

    javascript中的undefined和not defined区别示例介绍

    这篇文章主要介绍了javascript中的undefined和not defined区别,需要的朋友可以参考下
    2014-02-02
  • 浅聊一下JavaScript中的LHS和RHS查询

    浅聊一下JavaScript中的LHS和RHS查询

    在日常编码中,我们通常关注代码的逻辑和功能,但很少深入思考编译器在幕后的工作,今天我们将学习一下LHS(Left-Hand Side)和RHS(Right-Hand Side)查询,它们在JavaScript编译和执行中的关键作用,以及在我们的日常开发中是如何发挥作用的,需要的朋友可以参考下
    2023-11-11
  • ES6知识点整理之函数对象参数默认值及其解构应用示例

    ES6知识点整理之函数对象参数默认值及其解构应用示例

    这篇文章主要介绍了ES6知识点整理之函数对象参数默认值及其解构应用,结合实例形式分析了ES6函数对象参数相关使用技巧,需要的朋友可以参考下
    2019-04-04
  • javascript 弹出的窗口返回值给父窗口具体实现

    javascript 弹出的窗口返回值给父窗口具体实现

    这篇文章主要介绍了javascript 弹出的窗口返回值给父窗口具体实现,有需要的朋友可以参考一下
    2013-11-11
  • 那些项目中常见的TypeScript错误总结

    那些项目中常见的TypeScript错误总结

    这篇文章主要给大家总结介绍了一些项目中常见的TypeScript错误的相关资料,如果你想查看所有的错误信息和错误码,可以浏览TypeScript的源代码仓库,当然随着 ts 版本的更新,官网也会逐渐增加更多新的类型错误,需要的朋友可以参考下
    2022-03-03

最新评论