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 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
Nov 28 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
第五篇Bootstrap 排版
Jun 21 Javascript
node.js实现快速截图
Aug 27 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
Vue表单类的父子组件数据传递示例
May 03 Javascript
Angular2中监听数据更新的方法
Aug 31 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 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 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
python使用cookielib库示例分享
2014/03/03 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python tkinter事件高级用法实例
2018/01/31 Python
python中metaclass原理与用法详解
2019/06/25 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
中专毕业自我鉴定
2013/10/16 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2015年电工工作总结
2015/04/10 职场文书
入党积极分子群众意见
2015/06/01 职场文书