文字弹幕效果

简介: 文字弹幕效果

效果预览

文字弹幕效果

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>

网页效果

相关文章
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
55468 0
|
8月前
|
机器学习/深度学习 人工智能 算法
AI在体育分析与预测中的深度应用:变革体育界的智能力量
AI在体育分析与预测中的深度应用:变革体育界的智能力量
693 31
|
10月前
|
存储 自然语言处理 JavaScript
深入理解JavaScript的闭包(Closures)
深入理解JavaScript的闭包(Closures)
137 0
|
机器学习/深度学习 缓存 监控
Redis经典问题:热点key问题
本文介绍了Redis中的热点key问题及其对系统稳定性的影响。作者提出了多种提前发现热点key的方法,包括历史数据分析、业务分析、实时监控、用户行为分析和机器学习预测。同时,文章列举了应对热点key的解决方案,如分布式存储、主从复制、前置缓存、定时刷新、限制逃逸流量和兜底逻辑。通过这些策略,可以有效管理和预防热点key带来的挑战,保证系统性能和可用性。
1652 5
|
安全 Java API
全网最清晰的零拷贝详解,看一遍就会
全网最清晰的零拷贝详解,看一遍就会
232 0
|
Ubuntu Linux 开发工具
Python虚拟环境(一)
Python虚拟环境
235 0
|
存储 人工智能 运维
阿里云刘伟光:剖析企业数字化的降“本”增效
在全球经济发展放缓的今天,全天下都在进行“降本增效”,基于技术是数字化企业的差异化核心竞争力的这个重要前提,我们有必要重新审视“降本增效”的“本”到底是什么?
3187 1335
阿里云刘伟光:剖析企业数字化的降“本”增效
|
Java 关系型数据库 MySQL
小说网站|基于Springboot+Vue实现在线小说阅读网站(一)
小说网站|基于Springboot+Vue实现在线小说阅读网站
966 0
|
存储 编译器 C++
C++从遗忘到入门(上)
C++从遗忘到入门(上)
153 0
|
编解码 监控 算法
Baumer工业相机堡盟相机如何使用ROI感兴趣区域功能( PARTIAL SCAN ROI功能的优点和行业应用)(C++)
Baumer工业相机堡盟相机如何使用ROI感兴趣区域功能( PARTIAL SCAN ROI功能的优点和行业应用)(C++)
240 1