文字弹幕效果

简介: 文字弹幕效果

效果预览

文字弹幕效果

http部分

<body>
    <div class="box" id="box">
      <div class="bot-nav" id="bot-nav">
        <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>
  </body>

css部分

html,
    body {
      margin: 0px;
      padding: 0px;
      width: 100%;
      height: 100%;
      font-family: "微软雅黑";
      font-size: 62.5%;
    }
    .box {
      width: 100%;
      height: 100%;
      position: relative;
      overflow: hidden;
    }
    .bot-nav {
      width: 100%;
      height: 100px;
      background: #666;
      position: fixed;
      bottom: 0px;
    }
    .content {
      display: inline-block;
      width: 450px;
      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 {
      outline: none;
      border: none;
      width: 300px;
      height: 30px;
      border-radius: 5px;
      font-size: 2.4em;
      padding: 0px 10px;
    }
    .btn {
      outline: none;
      width: 60px;
      height: 30px;
      background: #f90000;
      border: none;
      color: #fff;
      font-size: 2.4em;
      cursor: pointer;
    }
    span {
      width: 300px;
      height: 40px;
      position: absolute;
      overflow: hidden;
      color: #000;
      font-size: 4em;
      line-height: 1.5em;
      cursor: pointer;
      white-space: nowrap;
    }

js部分

$(document).ready(function() {
      // 随机颜色
      var colors = ["red", "green", "hotpink", "pink", "cyan", "yellowgreen", "purple", "deepskyblue"];
      // 注册按钮点击事件
      $("#btn").click(function() {
        // 获取随机颜色
        var randomColor = parseInt(Math.random() * colors.length);
        // 获取随机坐标
        var randomY = parseInt(Math.random() * 700);
        $("<span></span>")            // 创建span
          .text($("#text").val())       // 设置内容
          .css("color", colors[randomColor])  // 设置字体颜色
          .css("left", "1920px")        // 设置left值
          .css("top", randomY)        // 设置top值
          .animate({
            left: -500
          }, 10000, "linear", function() {
            $(this).remove();         // 到达终点,删除span元素
          })
          .appendTo("#box");          // 添加动画效果
        $("#text").val("");           // 输入完成,清空文本框内容
      });
      $("#text").keyup(function(e) {        // 注册键盘抬起事件,检测回车键
        if(e.keyCode == 13) {
          $("#btn").click();
        }
      });
    });

整体代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Sample040 - 文字弹幕效果</title>
    <link rel="stylesheet" type="text/css" href="css/basic.css" />
    <script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <style type="text/css">
    html,
    body {
      margin: 0px;
      padding: 0px;
      width: 100%;
      height: 100%;
      font-family: "微软雅黑";
      font-size: 62.5%;
    }
    .box {
      width: 100%;
      height: 100%;
      position: relative;
      overflow: hidden;
    }
    .bot-nav {
      width: 100%;
      height: 100px;
      background: #666;
      position: fixed;
      bottom: 0px;
    }
    .content {
      display: inline-block;
      width: 450px;
      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 {
      outline: none;
      border: none;
      width: 300px;
      height: 30px;
      border-radius: 5px;
      font-size: 2.4em;
      padding: 0px 10px;
    }
    .btn {
      outline: none;
      width: 60px;
      height: 30px;
      background: #f90000;
      border: none;
      color: #fff;
      font-size: 2.4em;
      cursor: pointer;
    }
    span {
      width: 300px;
      height: 40px;
      position: absolute;
      overflow: hidden;
      color: #000;
      font-size: 4em;
      line-height: 1.5em;
      cursor: pointer;
      white-space: nowrap;
    }
  </style>
  <body>
    <div class="box" id="box">
      <div class="bot-nav" id="bot-nav">
        <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>
  </body>
  <script type="text/javascript">
    $(document).ready(function() {
      // 随机颜色
      var colors = ["red", "green", "hotpink", "pink", "cyan", "yellowgreen", "purple", "deepskyblue"];
      // 注册按钮点击事件
      $("#btn").click(function() {
        // 获取随机颜色
        var randomColor = parseInt(Math.random() * colors.length);
        // 获取随机坐标
        var randomY = parseInt(Math.random() * 700);
        $("<span></span>")            // 创建span
          .text($("#text").val())       // 设置内容
          .css("color", colors[randomColor])  // 设置字体颜色
          .css("left", "1920px")        // 设置left值
          .css("top", randomY)        // 设置top值
          .animate({
            left: -500
          }, 10000, "linear", function() {
            $(this).remove();         // 到达终点,删除span元素
          })
          .appendTo("#box");          // 添加动画效果
        $("#text").val("");           // 输入完成,清空文本框内容
      });
      $("#text").keyup(function(e) {        // 注册键盘抬起事件,检测回车键
        if(e.keyCode == 13) {
          $("#btn").click();
        }
      });
    });
  </script>
</html>

网页效果

相关文章
|
设计模式 弹性计算 人工智能
阿里技术专家详解DDD系列 第四讲 - 领域层设计规范
在一个DDD架构设计中,领域层的设计合理性会直接影响整个架构的代码结构以及应用层、基础设施层的设计。但是领域层设计又是有挑战的任务,特别是在一个业务逻辑相对复杂应用中,每一个业务规则是应该放在Entity、ValueObject 还是 DomainService是值得用心思考的,既要避免未来的扩展性差,又要确保不会过度设计导致复杂性。
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
55929 0
|
9月前
|
机器学习/深度学习 人工智能 算法
AI在体育分析与预测中的深度应用:变革体育界的智能力量
AI在体育分析与预测中的深度应用:变革体育界的智能力量
785 31
|
11月前
|
存储 自然语言处理 JavaScript
深入理解JavaScript的闭包(Closures)
深入理解JavaScript的闭包(Closures)
149 0
|
10月前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
190 0
|
存储 Oracle Java
多线程进阶学习04------Synchronized详解(1)
多线程进阶学习04------Synchronized详解
165 0
|
机器学习/深度学习 缓存 监控
Redis经典问题:热点key问题
本文介绍了Redis中的热点key问题及其对系统稳定性的影响。作者提出了多种提前发现热点key的方法,包括历史数据分析、业务分析、实时监控、用户行为分析和机器学习预测。同时,文章列举了应对热点key的解决方案,如分布式存储、主从复制、前置缓存、定时刷新、限制逃逸流量和兜底逻辑。通过这些策略,可以有效管理和预防热点key带来的挑战,保证系统性能和可用性。
1689 5
|
安全 Java API
全网最清晰的零拷贝详解,看一遍就会
全网最清晰的零拷贝详解,看一遍就会
241 0
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在许多领域都有广泛的应用
【5月更文挑战第11天】深度学习在许多领域都有广泛的应用
351 1
|
Ubuntu Linux 开发工具
Python虚拟环境(一)
Python虚拟环境
239 0