• 弹幕效果


    弹幕小效果

    	<style type="text/css">
    		*{ margin: 0; padding: 0;}
    		#box{  542px; height: 330px;
    		border: 3px solid goldenrod;
    		margin-left:300px;}
    	   #btm{margin: 0;padding: 0; height: 30px;background: goldenrod;
    	   display: flex; z-index: 999; position: relative; }
    	   #btm span{ flex: 1; flex-direction: column;font: 16px/30px "微软雅黑";
    	   color: #fff;  text-align: center; cursor: pointer;}
    	   #btm span:nth-child(1){ flex: 3;}
    	   #btm span input{ 100% ; height: 30px; font: 16px/30px "微软雅黑";
    	   border: none; outline: none;}
    	   #content{ height: 300px; position: relative; z-index: 999;
    	   background:rgba(0,0,0,0.7)}
    	   #content span{color:#fff; height: 30px; font: 14px/30px "微软雅黑"; position: absolute;left:542px;
    	   white-space: nowrap;}
    	   #v{ position: absolute;
    	   left: 303px; top: -32px;  542px; height: 358px; background: url(2.png);}
    	</style>
    </head>
    <body>
    	<div id="box">
    		<div id="content"></div>
    		<p id="btm">
    			<span><input type="text" id="text" /></span>
    			<span id="sendCon">发送</span>
    			<span id="hideCon">隐藏</span>
    			<span id="showCon">显示</span>
    		</p>
    	</div>
    	<div id="v">
    		 
    	</div>
    </body>
    </html>
    <script src="sport1.js"></script>
    <script src="public.js"></script>
    <script type="text/javascript">
    	$id("sendCon").onclick = function(){
    		var oSpan =document.createElement("span");
    		oSpan.innerHTML = $id("text").value;
    		$id("content").appendChild( oSpan );
    		oSpan.style.top = rand(0,270) + "px";
    		var w = oSpan.offsetWidth;
    		
    		moves( oSpan , { "left" : -w } ,function(){
    			oSpan.remove();
    		});
    	}
    	$id("hideCon").onclick  = function(){
    		$id("content").style.opacity = 0;
    	}
    	$id("showCon").onclick  = function(){
    		$id("content").style.opacity = 1;
    	}
    </script>
    

      sport1.js

    function getStyle(el,attr){
            if(window.getComputedStyle){
                return window.getComputedStyle(el,null)[attr];
            }else{
                return el.currentStyle[attr];
            }
        }
    function move(el,target,attr,callback){
        clearInterval(el.timer);
        el.timer=setInterval(function(){
            var cur=0;
            if(attr=="opacity"){
                cur=parseFloat(getStyle(el,attr))*100;
            }else{
                cur=parseInt(getStyle(el,attr));
            }
             
            var speed=(target-cur)/10;
            
            speed=speed>0?Math.ceil(speed):Math.floor(speed);
            if(cur == target){
                clearInterval(el.timer);
                if(callback){
                    callback();
                }
                return;
            }
            if(attr=="opacity"){
                el.style[attr]=(cur+speed)/100;
            }else{
                el.style[attr]=cur+speed+"px";
            }
        },30)
    }
    function moves(obj,json,callback){
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
            var flag=true;
            for(var attr in json){
                var cur = 0;
                if(attr == "opacity"){
                    cur = parseFloat(getStyle(obj,attr)) * 100;
                }else{
                    cur = parseInt(getStyle(obj,attr));//有单位 所以parseInt
                }            
                var speed = (json[attr] - cur) / 10;
                speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
                if(cur != json[attr]){
                    flag=false;
                    
                }
                if(attr == "opacity"){
                    obj.style[attr] =  (cur + speed) / 100;
                }else{
                    obj.style[attr] =  cur + speed + "px";
                }
            }
            if(flag){
                clearInterval(obj.timer);
                if(callback){
                    callback();
                }
                
            }
        },100)
    }
    function movies (el,json,callback) {
        clearInterval(el.timer);
        el.timer=setInterval(function(){
            var flag=true;
            for (attr in json) {
                
            
                var cur=0;
                if(attr=="opacity"){
                    cur=parseFloat( getStyle(el,attr))*100;
                }else{
                    cur=parseInt(getStyle(el,attr));
                }
                var speed=(json[attr]-cur)/10;
                speed=speed>0?Math.ceil(speed):Math.floor(speed);
                if(cur!=json[attr]){
                    flag=false;
                }
                if(attr=="opacity"){
                    el.style[attr]=(cur+speed)/100;
                }else{
                    el.style[attr]=cur+speed+"px"    
                }    
            }
            if(flag){
                clearInterval(el.timer);
                if(callback){
                    callback();
                }
            }
            
        },60)
    }
    View Code

    public.js

    function $id(id){
        return document.getElementById(id);
    }
    function rand(min,max){
        return Math.round(Math.random()*(max-min)+min);
    }
    function getColor(){
            var str="0123456789ABCDEF";
            var color="#"
            for(var i=0;i<6;i++){
                color+=str[rand(0,15)]
            }
            return color;
        }
    
    function diff(start,end){
            return Math.abs(start.getTime()-end.getTime())/1000;
        }
    function mySort(arr){
            for(var i=0;i<arr.length-1;i++){
                for (var j=0;j<arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        var temp=arr[j];
                            arr[j]=arr[j+1];
                            arr[j+1]=temp;
                    }
                }
            }
            return arr;
        }
    function zero(val){
          return val<10?"0"+val:""+val;
    }
    function addEvent(obj,type,fun){
        if(obj.addEventListener){
            obj.addEventListener(type,fun,false);
        }else{
            obj.attachEvent("on"+type,fun);
        }
    }
    function removeEvent(obj,type,fun){
        if(obj.removeEventListener){
            obj.removeEventListener(type,fun,false);
        }else{
            obj.detachEvent("on"+type,fun);
        }
    }
    View Code

     

  • 相关阅读:
    CentOS yum 源的配置与使用
    CentOS 添加常用 yum 源
    给centOs添加epel源
    centos 推荐使用epel源
    如何在CentOS 5/6上安装EPEL 源
    为centos添加第三方源
    Linux远程桌面工具 -- NoMachine
    Redis windows版本的启停bat脚本命令
    Elasticsearch+Hbase实现海量数据秒回查询
    mysql 与elasticsearch实时同步常用插件及优缺点对比(ES与关系型数据库同步)
  • 原文地址:https://www.cnblogs.com/xiaoyaolang/p/11926366.html
Copyright © 2020-2023  润新知