ホームページ  >  記事  >  ウェブフロントエンド  >  纯js代码制作的网页时钟

纯js代码制作的网页时钟

WBOY
WBOYオリジナル
2016-06-01 09:54:121173ブラウズ
<code class="language-html"> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<meta content="MSHTML 6.00.6000.16414" name="GENERATOR"> 
 
<div style="LEFT: 155px; WIDTH: 400px; ZOOM: 1; POSITION: absolute; TOP: 133px; HEIGHT: 300px"> 
<div id="bg" style="LEFT: -22px; WIDTH: 150px; ZOOM: 1.5; POSITION: absolute; TOP: -57px; HEIGHT: 150px">
<img    style="max-width:90%" src="http://files.jb51.net/upload/novelty.gif" alt="纯js代码制作的网页时钟" >  
</div> 
<div id="h" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">
<img    style="max-width:90%" src="http://files.jb51.net/upload/novelty_h.gif" alt="纯js代码制作的网页时钟" >  
</div> 
<div id="m" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">
<img    style="max-width:90%" src="http://files.jb51.net/upload/novelty_m.gif" alt="纯js代码制作的网页时钟" >  
</div> 
<div id="s" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">
<img    style="max-width:90%" src="http://files.jb51.net/upload/novelty_s.gif" alt="纯js代码制作的网页时钟" >  
</div> 
<div id="dot" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">
<img    style="max-width:90%" src="http://files.jb51.net/upload/novelty_dot.gif" alt="纯js代码制作的网页时钟" >  
</div> 
<div> 
<script> 
//oObj input requires that a matrix filter be applied.  
//deg input defines the requested angle of rotation. 
var deg2radians = Math.PI * 2 / 360; 
function MatrixFilter(obj) 
{     
    if(!obj.filters)return; 
    //alert(obj.filters.item(0)); 
    var Matrix; 
    for(p in obj.filters) 
    {        
        if(p=="DXImageTransform.Microsoft.Matrix")Matrix=obj.filters["DXImageTransform.Microsoft.Matrix"];   
    } 
    if(!Matrix) 
    { 
        obj.style.filter+="progid:DXImageTransform.Microsoft.Matrix()"; 
    } 
    Matrix=obj.filters["DXImageTransform.Microsoft.Matrix"]; 
    this.equal=function(Matrix2D_x) 
    { 
        if(Matrix2D_x.M11)Matrix.M11 = Matrix2D_x.M11; 
        if(Matrix2D_x.M12)Matrix.M12 = Matrix2D_x.M12; 
        if(Matrix2D_x.M21)Matrix.M21 = Matrix2D_x.M21; 
        if(Matrix2D_x.M22)Matrix.M22 = Matrix2D_x.M22; 
    } 
     
    if(arguments[1])this.equal(arguments[1]); 
     
    this.Rotate=function(deg) 
    { 
        rad = deg * deg2radians; 
        costheta = Math.cos(rad); 
        sintheta = Math.sin(rad); 
        var d=new Matrix2D(costheta,-sintheta,sintheta,costheta); 
        this.equal(Matrix2D.Mul(Matrix,d)); 
    } 
    this.RotateTo=function(deg) 
    { 
        rad = deg * deg2radians; 
        costheta = Math.cos(rad); 
        sintheta = Math.sin(rad); 
        var d=new Matrix2D(costheta,-sintheta,sintheta,costheta); 
        this.equal(d); 
    } 
    this.RotateAt=function(deg,sx,sy) 
    { 
        rad = deg * deg2radians; 
        costheta = Math.cos(rad); 
        sintheta = Math.sin(rad); 
        var d=new Matrix2D(costheta,-sintheta,sintheta,costheta); 
        var x=sx-Matrix.Dx; 
        var y=sy-Matrix.Dy; 
        this.MoveTo(x*costheta+y*sintheta-x,-x*sintheta+y*costheta-y); 
        this.equal(Matrix2D.Mul(Matrix,d));        
    } 
    this.RotateToAt=function(deg,sx,sy) 
    { 
        rad = deg * deg2radians; 
        costheta = Math.cos(rad); 
        sintheta = Math.sin(rad); 
        var d=new Matrix2D(costheta,-sintheta,sintheta,costheta); 
        var x=sx; 
        var y=sy; 
        this.MoveTo(x-(x*costheta-y*sintheta),-(x*sintheta+y*costheta-x)); 
        this.equal(d); 
    } 

    this.MoveTo=function(sx,sy) 
    { 
        Matrix.Dx=sx; 
        Matrix.Dy=sy; 
    } 
    this.toMatrix2D=function() 
    { 
        return new Matrix2D(Matrix.M11,Matrix.M12,Matrix.M21,Matrix.M22); 
    } 
    this.ZoomBy=function(sx,sy) 
    { 
        var d=new Matrix2D(sx,0,0,sy); 
        this.equal(Matrix2D.Mul(Matrix,d)); 
    } 
    this.toString=function() 
    { 
        return ""+Matrix.M11+" "+Matrix.M12+"\n"+Matrix.M21+" "+Matrix.M22+"\n" 
    } 
    //Matrix.SizingMethod='clip to original'; 
    //this.fnSetRotation(30); 
    //alert(Matrix.M11); 
    //alert(obj.filters["DXImageTransform.Microsoft.Matrix"]); 
} 
function Matrix2D() 
{ 
    this.M11 = arguments[0]||1; 
    this.M12 = arguments[1]||0; 
    this.M21 = arguments[2]||0; 
    this.M22 = arguments[3]||1; 
    this.Mul_Matrix2D=function(Matrix2D_b) 
    { 
        var r=new Matrix2D(); 
        r=Matrix2D.Mul(this,Matrix2D_b);         
        return r;        
    } 
    this.toString=function() 
    { 
        return ""+this.M11+" "+this.M12+"\n"+this.M21+" "+this.M22+"\n" 
    } 
} 
Matrix2D.Mul=function(Matrix2D_a,Matrix2D_b) 
{ 
    var r=new Matrix2D(); 
    r.M11=Matrix2D_a.M11*Matrix2D_b.M11+Matrix2D_a.M12*Matrix2D_b.M21; 
    r.M12=Matrix2D_a.M11*Matrix2D_b.M12+Matrix2D_a.M12*Matrix2D_b.M22; 
    r.M21=Matrix2D_a.M21*Matrix2D_b.M11+Matrix2D_a.M22*Matrix2D_b.M21; 
    r.M22=Matrix2D_a.M21*Matrix2D_b.M12+Matrix2D_a.M22*Matrix2D_b.M22; 
    return r;      
} 


var ms=new MatrixFilter(s); 
var mm=new MatrixFilter(m); 
var mh=new MatrixFilter(h); 
var i=1; 
setInterval("ms.RotateToAt((new Date()).getSeconds()*6+6,69,69)",500); 
setInterval("mm.RotateToAt((new Date()).getMinutes()*6+6,69,69)",500); 
setInterval("mh.RotateToAt(((new Date()).getHours()+(new Date()).getMinutes()/60)*30,69,69)",500); 
//mf.MoveTo(30,70); 
//mf.ZoomBy(1.5,1.5); 
//mf.ZoomBy(1.5,1.5); 
//alert(mf.toMatrix2D()); 

//alert(Matrix2D.Mul(m2d1,m2d2)); 
//fnSetRotation(oDiv.filters.item(0),30); 
</script> 
</div>
</div> 
</code>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。