返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS实现弹幕小案例
  • 856
分享到

JS实现弹幕小案例

2024-04-02 19:04:59 856人浏览 安东尼
摘要

本文实例为大家分享了js实现弹幕小案例的具体代码,供大家参考,具体内容如下 效果图: 步骤分析: 1、收集用户输入内容,根据内容创建一个标签--span,追加到某个容器中 2、为元

本文实例为大家分享了js实现弹幕小案例的具体代码,供大家参考,具体内容如下

效果图:

步骤分析:

1、收集用户输入内容,根据内容创建一个标签--span,追加到某个容器

2、为元素设置位置

  • left:右侧--大容器外面
  • top:上半区

3、通过样式设置来实现元素的动画,也可以通过定时器的方式实现动画

4、细节

  • 文本颜色随机
  • span动画结束之后应该进行自动的清除

html代码: 

<div class="boxDom" id="boxDom">
      <div class="idDom" id="idDom">
        <div class="content">
          <p class="title">吐槽:</p>
          <input type="text" class="text" id="text" />
          <button type="button" class="btn" id="btn">发射</button>
        </div>
      </div>
</div>

CSS代码:

<style type="text/css">
      html,
      body {
        margin: 0px;
        padding: 0px;
        width: 100%;
        height: 100%;
        font-family: '微软雅黑';
        font-size: 62.5%;
      }
 
      .boxDom {
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
      }
 
      .idDom {
        width: 100%;
        height: 100px;
        background: #666;
        position: fixed;
        bottom: 0px;
      }
 
      .content {
        display: inline-block;
        width: 430px;
        height: 40px;
        position: absolute;
        left: 0px;
        right: 0px;
        top: 0px;
        bottom: 0px;
        margin: auto;
      }
 
      .title {
        display: inline;
        font-size: 4em;
        vertical-align: bottom;
        color: #fff;
      }
 
      .text {
        border: none;
        width: 300px;
        height: 30px;
        border-radius: 5px;
        font-size: 2.4em;
      }
 
      .btn {
        width: 60px;
        height: 30px;
        background: #f90000;
        border: none;
        color: #fff;
        font-size: 2.4em;
      }
 
      span {
        
        height: 40px;
        position: absolute;
        overflow: hidden;
        color: #000;
        font-size: 4em;
        line-height: 1.5em;
        cursor: pointer;
        white-space: nowrap;
      }
</style>

JS代码:

// 获取元素
let btn = document.querySelector('#btn')
let text = document.querySelector('#text')
let boxDom = document.querySelector('#boxDom')
 
// 为按钮绑定事件
btn.addEventListener('click', function() {
    // 获取用户输入内容
    // 表单元素input的值的获取是使用value
    let content = text.value
    // trim:去除左右空格
    if (content.trim().length == 0) {
        alert('请输入一个内容再发弹幕')
        return
    }
    // 创建一个元素
    // createElement:创建元素
    let span = document.createElement('span')
    span.innerText = content
 
    // 为元素设置样式
    // clientWidth:获取元素的实际宽度
    // 设置left值为元素右侧外
    span.style.left = boxDom.clientWidth + 'px'
    // 设置top为上半区随机位置
    span.style.top =
        parseInt((Math.random() * boxDom.clientHeight) / 2) + 'px'
    // span.style.color = setColor()
    //设置字体的随机颜色
    span.style.color = `rgb(${Math.random() * 255},${Math.random() *
        255},${Math.random() * 255})`
 
    // 让元素动起来 -- 配合过渡样式
    // setTimeout(() => {
    //   span.style.left = -span.clientWidth + 'px'
    // }, 200)
    // 距停止位置的距离
    let dis = boxDom.clientWidth
    // setInterval(需要执行的函数,时间间隔)
    let tid = setInterval(function() {
        dis -= 1
        span.style.left = dis + 'px'
        // 移动到目标位置,清除定时器
        if (dis < -span.clientWidth) {
            clearInterval(tid)
            // 将当前的span移除
            span.remove()
        }
    }, 4)
 
    // 添加到指定容器中
    // insertBefore:将指定的元素插入到参照元素的前面:父容器.insertBefore(子元素,参照元素)
    // appendChild:将元素追加到所有子元素的最后: 父容器.appendChild(子元素)
    // insertBefore:一定传入两个参数
    boxDom.insertBefore(span, boxDom.children[0])
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JS实现弹幕小案例

本文链接: https://lsjlt.com/news/165961.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JS实现弹幕小案例
    本文实例为大家分享了JS实现弹幕小案例的具体代码,供大家参考,具体内容如下 效果图: 步骤分析: 1、收集用户输入内容,根据内容创建一个标签--span,追加到某个容器中 2、为元...
    99+
    2024-04-02
  • jQuery实现弹幕效果案例
    本文实例为大家分享了jQuery实现弹幕效果的具体代码,供大家参考,具体内容如下 效果: <!DOCTYPE html> <html lang="en">...
    99+
    2024-04-02
  • js实现七夕表白弹幕效果 jQuery实现弹幕技术
    本文实例为大家分享了js与jQuery技术实现表白弹幕,供大家参考,具体内容如下 js七夕表白弹幕效果简单版效果: 关键代码: <script> v...
    99+
    2024-04-02
  • JS实现视频弹幕效果
    使用ES6的模块化开发及观察者模式来实现。观察者模式有很多种形式,这里是使用“注册—通知—撤销注册”的形式。TimeManager类可以返回一个单例,每一条弹幕作为一个观察者,注册到...
    99+
    2024-04-02
  • js实现简易弹幕系统
    本文实例为大家分享了原生js实现弹幕效果的具体代码,供大家参考,具体内容如下 实现思路 1、先写好静态页面框架 <div id='father'> &...
    99+
    2024-04-02
  • js怎么实现弹幕功能
    js实现弹幕功能的方法:1、创建html文件;2、添加html代码架构;3、在body标签中使用div、input、button标签分给页面设计效果显示框、输入框、弹幕提交按钮;4、添加script标签并写入js代码来实现弹幕效果;5、通过...
    99+
    2024-04-02
  • JS实现轮播图小案例
    本文实例为大家分享了JS实现轮播图小案例的具体代码,供大家参考,具体内容如下 分析: 点击左右箭头 滑动轮播图 鼠标不在轮播图内时 每隔2秒自动滑动轮播图 ...
    99+
    2024-04-02
  • golang实现弹幕
    弹幕是现今很流行的一种直播互动方式,在直播平台上,观众可以通过弹幕来互动,让弹幕飞过屏幕,增加直播的趣味性。如何在golang中实现弹幕功能呢?下面我们来一起探讨一下。在实现弹幕功能之前,首先需要清楚弹幕的基本原理,弹幕是一种基于网络通信的...
    99+
    2023-05-21
  • golang弹幕实现
    弹幕,随着直播、视频等领域的不断发展,逐渐扩大了应用范围,成为直播、视频等领域中不可或缺的组成部分。弹幕可以增加互动性,提高用户体验,让观看变得更加有趣。使用Golang语言实现弹幕功能可以提高程序的并发性和性能,同时也有助于代码的可读性和...
    99+
    2023-05-19
  • 原生js实现弹跳小球
    突发奇想,写了个小球来回弹跳的案例,供大家参考,具体内容如下 主要就是利用了margin-left / top 值进行位移,当然,也可以使用定位去做。 本案例所用到的有: ...
    99+
    2024-04-02
  • 原生js实现弹动小球效果
    本文实例为大家分享了JavaScript实现弹动小球效果展示的具体代码,供大家参考,具体内容如下 源码展示 <!doctype html> <html> &...
    99+
    2024-04-02
  • vue实现二级弹框案例
    本文实例为大家分享了vue实现二级弹框的具体代码,供大家参考,具体内容如下 二级弹框案例,如下图所示 <template>     <div class="zw...
    99+
    2024-04-02
  • AndroidFlutter实现弹幕效果
    目录前言通用弹幕实现方案ListView弹幕方案实现基本框架轮播滚动轮询算法点击事件前言 需求要点如下: 弹幕行数为3行,每条弹幕相互依靠但不存在重叠每条弹幕可交互点击跳转滚动速度恒...
    99+
    2024-04-02
  • 一篇文章教你学会js实现弹幕效果
    目录新建一个html文件:搞出初始模版HTML添加CSS填充js逻辑代码动画效果下面是弹幕效果 : 相信小伙伴们都看过了,那么它实现的原理是什么呢,那么我们前端怎么用我们web技术...
    99+
    2024-04-02
  • JS实现轮播图案例
    本文实例为大家分享了JS实现轮播图案例的具体代码,供大家参考,具体内容如下 实现功能: 1、自动轮播:鼠标停留在轮播图上时不切换图片,鼠标离开后自动轮播。 2、点击左右按钮切换图片。...
    99+
    2024-04-02
  • JS实现滑动条案例
    本文实例为大家分享了JS实现滑动条效果的具体代码,供大家参考,具体内容如下 在完成这个案例之前需要看一下这个博客:JS案例-添加缓动画 这个案例会用到上面博客的缓动画函数。实现效果如...
    99+
    2024-04-02
  • js实现验证码案例
    本文实例为大家分享了js实现验证码的具体代码,供大家参考,具体内容如下 css代码: input{ width: 200px; ...
    99+
    2024-04-02
  • HTML+CSS+JS实现的简单应用小案例分享
    目录1.猜数字2.表白墙3.切换日夜间模式4.待办事项1.猜数字 <!DOCTYPE html> <html lang="en"> <head> ...
    99+
    2024-04-02
  • jQuery如何实现弹幕APP
    这篇文章主要介绍了jQuery如何实现弹幕APP,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。今天闲着无聊,写了个弹幕APP,主要实现以下几...
    99+
    2024-04-02
  • JS实现五星好评案例
    本文实例为大家分享了JS实现五星好评案例的具体代码,供大家参考,具体内容如下 业务逻辑是我需要先创建出所有我需要用到的标签和样式再写出我们星星对应的行为,分数对应行为,笑脸对应行为,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作