标题:案例:弹幕表白技术
取消只看楼主
elsyyzh
Rank: 1
来 自:湖北黄冈
等 级:新手上路
帖 子:29
专家分:0
注 册:2015-11-9
结帖率:0
 问题点数:0 回复次数:0 
案例:弹幕表白技术
今天分享一个很炫酷的弹幕表白技术案例,主要功能是通过点击上方要白的弹幕表白图像,下面的输入框出现,并有音乐播放,我们通过在输入框里面输入内容能够在公屏上显示出来,下面我们一步一步来实现这个看似神秘的技术。
实现让弹幕表白图片出现

    通过img标签并对它设计样式,动画处理,让图片动起来
    <img src="images/xx.png" class="gb"></img>
    样式:
                img.gb{ position:fixed; left:45%; top:0px; -webkit-animation:bd 5s ease-in-out infinite;}
                        @-webkit-keyframes bd{
                                0%{-webkit-transform:rotate(30deg); -webkit-transform-origin:center top;}
                                50%{-webkit-transform:rotate(-30deg); -webkit-transform-origin:center top;}
                                100%{-webkit-transform:rotate(30deg); -webkit-transform-origin:center top;}
                        }
    通过css3样式就可以实现让弹幕告白图片动起来
2. 添加背景图片和输入对话框
    <div class="gray">
                <div class="con">
                        <span class="col">颜色 <font></font></span>
                        <p class="txt" contenteditable="true"></p>
                        <span class="button">清空再写</span>
                </div>
    </div>
    把背景设置为半透明的黑色,美化输入框
    div.gray{width:100%; height:100%; background:rgba(0,0,0,0.5); position:fixed; left:0px; top:0px; display:none;}
    div.con{width:560px; height:30px; position:fixed; left:30%; bottom:10%;}
    div.con span.col{width:80px; height:30px; background:#f3f3f3; display:block; float:left; border-radius:3px 0px 0px                                3px; font-size:12px; line-height:30px; text-indent:10px;}
    div.con p.txt{height:30px; width:400px; background:#fff; float:left;}
    div.con span.button{width:80px; height:30px; background:#ff0066; display:block; float:left; font-size:12px;                                                 color:#ffffff; text-align:center; line-height:30px; border-radius:0px 3px 3px 0px;}
    div.con span.col font{width:10px; height:10px; display:block; background:red; position:absolute; left:40px;                                                 top:9px; border:1px solid #000000;}
    通过css样式让输入框看起来美观一点
3.  创建颜色选择器,并结合js让选择字体颜色以及弹幕出现在公屏上等功能实现
    首先创建无序列表:
    <ul>
            <li data-color="#ffff33">颜色 <font style="background-color:#ffff33"></font></li>
            <li data-color="#0000ff">颜色 <font style="background-color:#0000ff"></font></li>
            <li data-color="#ff0000" class="xz">颜色 <font style="background-color:#ff0000"></font></li>
            <li data-color="#ffffff">颜色 <font style="background-color:#ffffff"></font></li>
            <li data-color="#00ff00">颜色 <font style="background-color:#00ff00"></font></li>
    </ul>
    利用js让选择器能够选择颜色,让字显示在公屏上面
    <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
                <script type="text/javascript">
                        $("img.gb").click(function(){
                                $(".gray").show();
                                $("#music").get(0).play();
                        });
                        $("span.col").click(function(){
                                $(".con ul").toggle("slow");
                        });
                        $(".con ul li").click(function(){
                                var col=$(this).data("color");
                                $("span.col font").css("background-color",col);
                                $(this).addClass("xz").siblings().removeClass("xz");
                                $(".con ul").toggle("slow");
                        });
                        var arr=[];
                        $("p.txt").keyup(function(e){
                                var col=$(".con ul li.xz").data("color");
                                var txt="<span style='color:"+col+"'>"+$(this).text()+"</span>";
                                $(".Text").html(arr.join("").toString()+txt);

                                if(e.keyCode==13){
                                        $(this).empty();
                                        arr.push("<p>"+txt+"</p>");
                                        var html="";
                                        for(var i=0;i<arr.length;i++){
                                                html+=arr;
                                        }
                                        $(".Text").html(html);
                                }
                        });      
                </script>
至此绚丽的弹幕告白技术就实现了,有想要源代码的朋友可以给我留言。
搜索更多相关主题的帖子: infinite position 音乐播放 images 图片 
2015-11-30 15:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-459751-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017258 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved