Home > Web Front-end > H5 Tutorial > Share using HTML5 to realize a 3D realistic Christmas tree

Share using HTML5 to realize a 3D realistic Christmas tree

零下一度
Release: 2017-05-01 10:30:44
Original
35166 people have browsed it

The following code only runs in browsers that support HTML5! ! 3D realistic Christmas tree effect written in html5

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "/TR/html4/frameset.dtd">
<html>
<head>
<title>html5写的3D逼真圣诞树效果</title>
<meta charset="utf-8" >
<style>
html, body { width: 100%; height: 100%; margin: 0; padding: 0; border: 0; }
p { margin: 0; padding: 0; border: 0; }
.nav { 
		position: absolute; 
		top: 0; 
				left: 0; 
				width: 100%; 
				height: 27px; 
				background-color: white; 
				color: black; 
				text-align: center; 
				line-height: 25px;
			}

			a { color: black; text-decoration: none; border-bottom: 1px dashed black; }
			a:hover { border-bottom: 1px solid red; }

			.previous { float: left; margin-left: 10px; }
			.next { float: right; margin-right: 10px; }
			
			.green { color: green; }
			.red { color: red; }

			textarea { width: 100%; height: 100%; border: 0; padding: 0; margin: 0; padding-bottom: 20px; }
			.block-outer { float: left; width: 22%; height: 100%; padding: 5px; border-left: 1px solid black; margin: 30px 3px 3px 3px; }
			.block-inner { height: 68%; }
			.one { border: 0; }
</style>
	</head>
	<body marginwidth="0" marginheight="0">
	<canvas id="c" height="356" width="446">
<script>
			var collapsed = true;
			function toggle() {
				var fs = top.document.getElementsByTagName(&#39;frameset&#39;)[0];
				var f = fs.getElementsByTagName(&#39;frame&#39;);
				if (collapsed) {
					fs.rows = &#39;250px,*&#39;;
					// enable resizing of frames in firefox/opera
					fs.noResize = false;
					f[0].noResize = false;
					f[1].noResize = false;
				} else {
					fs.rows = &#39;30px,*&#39;;
					// disable resizing of frames in firefox/opera
					fs.noResize = true;
					f[0].noResize = true;
					f[1].noResize = true;
				}
				collapsed = !collapsed;
			}

</script>
<script>
			var b = document.body;
			var c = document.getElementsByTagName(&#39;canvas&#39;)[0];
			var a = c.getContext(&#39;2d&#39;);
			document.body.clientWidth; // fix bug in chrome.
</script>
<script>
// start of submission //
M=Math;Q=M.random;J=[];U=16;T=M.sin;E=M.sqrt;for(O=k=0;x=z=j=i=k<200;)with(M[k]=k?c.cloneNode(0):c){width=height=k?32:W=446;with(getContext(&#39;2d&#39;))if(k>10|!k)for(font=&#39;60px Impact&#39;,V=&#39;rgba(&#39;;I=i*U,fillStyle=k?k==13?V+&#39;205,205,215,.15)&#39;:V+(147+I)+&#39;,&#39;+(k%2?128+I:0)+&#39;,&#39;+I+&#39;,.5)&#39;:&#39;#cca&#39;,i<7;)beginPath(fill(arc(U-i/3,24-i/2,k==13?4-(i++)/2:8-i++,0,M.PI*2,1)));else for(;x=T(i),y=Q()*2-1,D=x*x+y*y,B=E(D-x/.9-1.5*y+1),R=67*(B+1)*(L=k/9+.8)>>1,i++<W;)if(D<1)beginPath(strokeStyle=V+R+&#39;,&#39;+(R+B*L>>0)+&#39;,40,.1)&#39;),moveTo(U+x*8,U+y*8),lineTo(U+x*U,U+y*U),stroke();for(y=H=k+E(k++)*25,R=Q()*W;P=3,j<H;)J[O++]=[x+=T(R)*P+Q()*6-3,y+=Q()*U-8,z+=T(R-11)*P+Q()*6-3,j/H*20+((j+=U)>H&Q()>.8?Q(P=9)*4:0)>>1]}setInterval(function G(m,l){A=T(D-11);if(l)return(m[2]-l[2])*A+(l[0]-m[0])*T(D);a.clearRect(0,0,W,W);J.sort(G);for(i=0;L=J[i++];a.drawImage(M[L[3]+1],207+L[0]*A+L[2]*T(D)>>0,L[1]>>1)){if(i==2e3)a.fillText(&#39;Merry Christmas!&#39;,U,345);if(!(i%7))a.drawImage(M[13],((157*(i*i)+T(D*5+i*i)*5)%W)>>0,((113*i+(D*i)/60)%(290+i/99))>>0);}D+=.02},1)
// end of submission //
</script>
</body>
</html>
Copy after login

The above is the detailed content of Share using HTML5 to realize a 3D realistic Christmas tree. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template