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 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
基于jquery &amp; json的省市区联动代码
Jun 26 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 Javascript
关于JavaScript中事件绑定的方法总结
Oct 26 Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 Javascript
React快速入门教程
Jan 17 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
ES6中Symbol、Set和Map用法详解
Aug 20 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中文汉字验证码
2007/04/08 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
初步解析Python中的yield函数的用法
2015/04/03 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
django富文本编辑器的实现示例
2019/04/10 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
实习鉴定评语
2014/01/19 职场文书
自荐信的基本格式
2014/02/22 职场文书
货车司机岗位职责
2014/03/18 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
食品安全主题班会
2015/08/13 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书