javascript实现弹幕墙效果


Posted in Javascript onNovember 28, 2019

刚开始入门前端,想仿照FreeCodeCamp中的一个项目制作简单的弹幕墙。

步骤如下:

1、编写HTML代码:

创建一个弹幕显示墙,以及两个按钮,分别为“发送”和“清屏”,并在文本框中设置placeholder为“说点什么吧?”以提示用户在此输入弹幕信息。

<body>
    <div class="con">      
      <div id="screen">
        <div class="dm_show">
          <!-- <div>text message</div> -->
        </div>
      </div>
      <div class="edit">
        <p>
          <input placeholder="说点什么吧?" class="content" type="text" />
        </p>
        <p>
          <input type="button" class="send" value="发送" />
          <input type="button" class="clear" value="清屏" />
        </p>
      </div>   
    </div>
  </body>

2、设置各标签的CSS样式:

<style>
      .con {
        background-color: floralwhite;
        padding: 40px 80px 80px;
      }
      #screen {
        background-color: #fff;
        width: 100%;
        height: 380px;
        border: 1px solid rgb(229, 229, 229);
        font-size: 14px;
      }

      .content {
        border: 1px solid rgb(204, 204, 204);
        border-radius: 3px;
        width: 320px;
        height: 35px;
        font-size: 14px;
        margin-top: 30px;

      }

      .send {
        border: 1px solid rgb(230, 80, 30);
        color: rgb(230, 80, 0);
        border-radius: 3px;
        text-align: center;
        padding: 0;
        height: 35px;
        line-height: 35px;
        font-size: 14px;
        width: 159px;
        background-color: white;
      }

      .clear {
        border: 1px solid;
        color: darkgray;
        border-radius: 3px;
        text-align: center;
        padding: 0;
        height: 35px;
        line-height: 35px;
        font-size: 14px;
        width: 159px;
        background-color: white;
      }

      .edit {
        margin: 20px;
        text-align: center;
      }

      .text {
        position: absolute;
      }
      *{
        margin: 0;
        padding: 0;
      }

      .dm_show{
        margin: 30px;
      }
</style>

CSS代码完成后效果如下:

完成后的效果如下:

javascript实现弹幕墙效果

3、编写JavaScript代码,添加按钮点击事件

<script type="text/javascript" src="../jquery-easyui-1.3.5/jquery.min.js"></script>
<script>
      $(function() {
        //设置“发送”按钮点击事件,将弹幕体显示在弹幕墙上
        $('.send').click(function() {
          //获取文本输入框的内容
          var val = $('.content').val();
          //将文本框的内容赋值给val后,将文本框的内容清除,以便用户下一次输入
          $('.content').val('');
          //将文本框内容用div包裹起来,便于后续处理
          var $content = $('<div class="text">' + val + '</div>');
          //获取弹幕墙对象
          $screen = $(document.getElementById("screen"));
          //设置弹幕体出现时的上边距,为任意值
          var top = Math.random() * $screen.height()+40;
          //设置弹幕体的上边距和左边距
          $content.css({
            top: top + "px",
            left: 80
          });
          //将弹幕体添加到弹幕墙中
          $('.dm_show').append($content);
          //弹幕体从左端移动到最右侧,时间为8秒,然后直接删除该元素
          $content.animate({
            left: $screen.width()+80-$content.width()
          }, 8000, function() {
            $(this).remove();
          });
        });
        //设置“清屏”点击事件,清除弹幕墙中的所有内容
        $('.clear').click(function() {
          $('.dm_show').empty();
        });
      });
</script>

最终效果如下:

javascript实现弹幕墙效果

至此,一个简易的弹幕墙就完成了,因本人经验有限,所以弹幕墙还比较粗糙,还请各位批评指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
文本框回车提交与禁止提交示例
Sep 27 Javascript
jquery遍历checkbox的注意事项说明
Feb 21 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
May 16 Javascript
jquery精度计算代码 jquery指定精确小数位
Feb 06 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
vue如何进行动画的封装
Sep 26 Javascript
JavaScript中break、continue和return的用法区别实例分析
Mar 02 Javascript
Axios取消重复请求的方法实例详解
Jun 15 Javascript
jquery实现直播弹幕效果
Nov 28 #jQuery
jQuery实现简单弹幕效果
Nov 28 #jQuery
微信小程序事件流原理解析
Nov 27 #Javascript
JS实现简单省市二级联动
Nov 27 #Javascript
Angular value与ngValue区别详解
Nov 27 #Javascript
原生js实现二级联动菜单
Nov 27 #Javascript
微信小程序wxml列表渲染原理解析
Nov 27 #Javascript
You might like
php array_merge下进行数组合并的代码
2008/07/22 PHP
html读出文本文件内容
2007/01/22 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
Python中Collection的使用小技巧
2014/08/18 Python
python引用DLL文件的方法
2015/05/11 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
python定义类self用法实例解析
2020/01/22 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Python接口自动化测试的实现
2020/08/28 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
党校自我鉴定范文
2013/10/02 职场文书
关于工资低的辞职信
2014/01/14 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
小学生成绩单评语
2014/12/31 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
《实心球》教学反思
2016/02/23 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
详解nginx进程锁的实现
2021/06/14 Servers