html制作十二小时时钟特效,纯js代码制作的网页时钟特效【附实例】

style="LEFT: 155px; WIDTH: 400px; ZOOM: 1; POSITION: absolute; TOP: 133px; HEIGHT: 300px">

style="LEFT: -22px; WIDTH: 150px; ZOOM: 1.5; POSITION: absolute; TOP: -57px; HEIGHT: 150px">

style="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="//img.jbzj.com/upload/novelty.gif">

style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">

style="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="//img.jbzj.com/upload/novelty_h.gif">

style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">

style="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="//img.jbzj.com/upload/novelty_m.gif">

style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">

style="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="//img.jbzj.com/upload/novelty_s.gif">

style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 129px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 129px">

style="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="//img.jbzj.com/upload/novelty_dot.gif">

//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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值