视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
js如何实现弹幕效果
2020-11-03 13:38:52 责编:小采
文档

具体步骤如下:

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代码完成后部分截图如下:

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>

最终效果部分截图如下:


相关教程推荐:js教程

下载本文
显示全文
专题