大佬教程收集整理的这篇文章主要介绍了HTML5(六)html5<canvas带音效的时钟>,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
html5的canvas实现带音效的时钟
<!DOCTYPE html> <html> <head> <title>canvas</title> <style> canvas{ BACkground:#eee; } </style> <script> window.onload=function(){ var canvas = document.getElementById("canvas"); var cobj = canvas.getContext("2d"); var originx=200; var originy=200; var radius=100; var audio = document.getElementById("audio"); audio.ontimeupdate=function(){ if(audio.currentTime>=0.1){ audio.pause(); } } seTinterval(function(){ cobj.clearRect(0,400,400); audio.currentTime=0; audio.play(); //阴影 cobj.shadowColor="#888"; cobj.shadowOffsetX=1; cobj.shadowOffsetY=1; cobj.shadowBlur=3; //渐变色 var colorObj = cobj.createRadialGradient(originx,originy,1,originx,100); colorObj.addColorStop(0,"#efefef"); colorObj.addColorStop(1,"#cecece"); cobj.fillStyle=colorObj; cobj.lineWidth=8; cobj.strokeStyle=colorObj; cobj.beginPath(); cobj.arc(originx,radius,2*Math.PI); cobj.stroke(); cobj.fill(); //去掉阴影 cobj.shadowColor="#888"; cobj.shadowOffsetX=0; cobj.shadowOffsetY=0; cobj.shadowBlur=0; //画刻度 drawMark(); //画针 var date = new Date(); var ha = date.getHours()*30+(date.getminutes()*6/12)-90; var ma = date.getminutes()*6-90; var sa = date.getSeconds()*6-90; //时针 drawPointer(55,ha,4,"#000"); //分针 drawPointer(65,ma,3,"#888"); //秒针 drawPointer(75,sa,2,"#ff0000"); //画小圆 cobj.shadowColor="#888"; cobj.shadowOffsetX=1; cobj.shadowOffsetY=1; cobj.shadowBlur=3; cobj.beginPath(); cobj.fillStyle="#aaa"; cobj.arc(originx,2*Math.PI); cobj.fill(); },1000); //画针的函数 function drawPointer(radius,angle,width,color){ cobj.lineWidth=width; cobj.strokeStyle=color; cobj.beginPath(); cobj.moveTo(originx,originy); cobj.lineTo(originx+radius*Math.cos(angle*Math.PI/180),originy+radius*Math.sin(angle*Math.PI/180)); cobj.stroke(); } //画刻度的函数 function drawMark(){ for(var i=0;i<60;i++){ var angle=i*6*Math.PI/180; var radius1=radius-4; var lw=2; if(i%5==0){ radius1=radius-8; lw=4; } cobj.strokeStyle="#888"; cobj.lineWidth=lw; cobj.beginPath(); cobj.moveTo(originx+radius*Math.cos(anglE),originy+radius*Math.sin(anglE)); cobj.lineTo(originx+radius1*Math.cos(anglE),originy+radius1*Math.sin(anglE)); cobj.stroke(); } } } </script> </head> <body> <canvas width="400px" height="400px" id="canvas"> 请您升级浏览器 </canvas> <audio src="1.wav" id="audio"> </audio> </body> </html>
以上是大佬教程为你收集整理的HTML5(六)html5<canvas带音效的时钟>全部内容,希望文章能够帮你解决HTML5(六)html5<canvas带音效的时钟>所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。