15年软件开发经验 只做源码定制 互联网+定制化解决方案

15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 前端开发 CSS

使用JQ添加弹幕

王永康| 发布于 2021-08-02 09:08:53| 606阅读| 0点赞| 0评论
举报

光有css写的弹幕是死,无法做到动态添加,通过JQ来添加新的弹幕

解决思路:


在box 盒子中停机一个P标签,P标签拥有弹幕效果

让p标签拥有弹幕效果的动画效果,left的大小取决于box的宽

以下是代码

html

<div id="box">
            <div id="main">
                
            </div>
            <div id="bottom">
                <input type="text" id="txt" placeholder="请输入内容" />
                <input type="button" id="btn" value="发射" />
            </div>
        </div>

CSS

 *{
                padding: 0;
                margin: 0;
            }
            #box{
                height:700px;
                width:1000px;
                margin: 0 auto;
                border:1px solid #000000;
                position: relative;
            }
            #main{
                width:100%;
                height:605px;
                position: relative;
                overflow: hidden;
            }
            p{
                position: absolute;
                left:1000px;
                width:200px;
                top:0;
            }
            #bottom{
                width:100%;
                height:80px;
                background: #ABCDEF;
                text-align: center;
                padding-top: 15px;
                position: absolute;
                left: 0;
                bottom: 0;
            }
            #txt{
                width:300px;
                height:50px;    
            }
            #btn{
                width:100px;
                height:50px;                
            }

JQ

 $(function(){
                var pageH=parseInt($("#main").height());
                var colorArr=["#cfaf12","#12af01","#981234","#adefsa","#db6be4","#f5264c","#d34a74"];                
                $("#btn").bind("click",auto);
                document.onkeydown=function(e){
                    if(e.keyCode == 13){
                        auto();
                    }
                };
                function auto(){
                    var $value = $("#txt").val();
                    $("#main").<a href="https://www.qinfenniao.com/nav/%E7%BD%91%E7%AB%99%E5%BC%80%E5%8F%91.html" target="_blank">app</a>end("<p>" + $value + "</p>");
                    $("#txt").val("");
                    var _top=parseInt(pageH*(Math.random()));
                    var num=parseInt(colorArr.length*(Math.random()));
                    $("p:last-child").css({"top":_top,"color":colorArr[num],"font-size":"20px"});
                    $("p:last-child").animate({"left":"-200px"},10000);
                    $("p:last-child").stop().animate({"left":"-300px"},10000,"linear",function(){
                        $(this).remove();
                   });                
                    //console.log($value);
                };
                
            })

效果图:


在输入框里输入,点击发射就可以发送弹幕

0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

王永康
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部