纯js代码制作的网页时钟特效【附实例】

内容摘要
纯js代码制作的网页时钟特效,需要的码农可以拿去看一下。给大家做个参考。


<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META
文章正文

纯js代码制作的网页时钟特效,需要的码农可以拿去看一下。给大家做个参考。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.6000.16414" name=GENERATOR></HEAD>
<BODY>
<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="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="http://files.phpstudy.net/upload/novelty.gif">
</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="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="http://files.phpstudy.net/upload/novelty_h.gif">
</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="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="http://files.phpstudy.net/upload/novelty_m.gif">
</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="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="http://files.phpstudy.net/upload/novelty_s.gif">
</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="Z-INDEX: 22; WIDTH: 129px; HEIGHT: 129px" src="http://files.phpstudy.net/upload/novelty_dot.gif">
</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></BODY></HTML>

以上这篇纯js代码制作的网页时钟特效【附实例】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!