<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>超酷HTML5时钟(作者:http://www.cnblogs.com/jscode/)</title> <style type="text/css"> .time { text-align: center; width:400px; font-family: "Book Antiqua",Palatino,serif; font-size: 40px; font-weight: bold; text-shadow: 1px 1px 3px #333; position:absolute; } .time em { background: white; position: absolute; top: 5px; left: 130px; height: 18px; width: 140px; opacity: 0.4; } </style> <script type="text/javascript"> var canvas, context; function DrawClock() { canvas = document.getElementById("canvas"); context = canvas.getContext("2d"); setInterval("drawbackground()", 1000); } function drawbackground() { var radius = Math.min(canvas.width / 2, canvas.height / 2) - 15; var centerx = canvas.width / 2; var centery = canvas.height / 2; context.clearRect(0, 0, canvas.width, canvas.height); context.save(); context.lineWidth = 15; context.fillStyle = "#EFEFEF"; context.strokeStyle = "#000"; context.beginPath(); context.arc(centerx, centery, radius, 0, Math.PI * 2, 0); context.fill(); context.stroke(); context.closePath(); context.restore(); for (var i = 0; i < 60; i++) { context.save(); context.fillStyle = "#EFEFEF"; context.strokeStyle = "#000"; if (i % 5 == 0) { context.lineWidth = 3; } context.beginPath(); context.moveTo(centerx, centery); context.lineTo(centerx + (radius-6) * Math.cos(i * 6 * Math.PI / 180), centery - (radius-5) * Math.sin(i * 6 * Math.PI / 180)); context.fill(); context.stroke(); context.closePath(); context.restore(); } context.moveTo(centerx, centery); context.save(); context.fillStyle = "#EFEFEF"; context.strokeStyle = "#EFEFEF"; context.beginPath(); context.arc(centerx, centery, radius-15, 0, Math.PI * 2, 0); context.fill(); context.stroke(); context.closePath(); context.restore(); var r = radius - 25; context.font = "bold 20px 宋体"; Drawtext("1", centerx + (Math.cos(60 * Math.PI / 180) * r), centery - (Math.sin(60 * Math.PI / 180) * r)); Drawtext("2", centerx + (Math.cos(30 * Math.PI / 180) * r), centery - (Math.sin(30 * Math.PI / 180) * r)); Drawtext("3", centerx + (Math.cos(0 * Math.PI / 180) * r), centery - (Math.sin(0 * Math.PI / 180) * r)); Drawtext("4", centerx + (Math.cos(330 * Math.PI / 180) * r), centery - (Math.sin(330 * Math.PI / 180) * r)); Drawtext("5", centerx + (Math.cos(300 * Math.PI / 180) * r), centery - (Math.sin(300 * Math.PI / 180) * r)); Drawtext("6", centerx + (Math.cos(270 * Math.PI / 180) * r), centery - (Math.sin(270 * Math.PI / 180) * r)); Drawtext("7", centerx + (Math.cos(240 * Math.PI / 180) * r), centery - (Math.sin(240 * Math.PI / 180) * r)); Drawtext("8", centerx + (Math.cos(210 * Math.PI / 180) * r), centery - (Math.sin(210 * Math.PI / 180) * r)); Drawtext("9", centerx + (Math.cos(180 * Math.PI / 180) * r), centery - (Math.sin(180 * Math.PI / 180) * r)); Drawtext("10", centerx + (Math.cos(150 * Math.PI / 180) * r), centery - (Math.sin(150 * Math.PI / 180) * r)); Drawtext("11", centerx + (Math.cos(120 * Math.PI / 180) * r), centery - (Math.sin(120 * Math.PI / 180) * r)); Drawtext("12", centerx + (Math.cos(90 * Math.PI / 180) * r), centery - (Math.sin(90 * Math.PI / 180) * r)); context.save(); context.fillStyle="black"; context.beginPath(); context.arc(centerx,centery,10,0,Math.PI*2,0); context.fill(); context.stroke(); context.closePath(); context.restore(); drawpoint(centerx, centery, radius); } function drawpoint(centerx, centery, radius) { var date = new Date(); var h = date.getHours(); h = h < 13 ? h : h - 12; var m = date.getMinutes(); var s = date.getSeconds(); var th = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); var tm = m < 10 ? "0" + m : m; var ts = s < 10 ? "0" + s : s; document.getElementById("currtime").innerHTML = th + ":" + tm + ":" + ts; var hr = h * 30 * Math.PI / 180 + (m / 60) * 30 * Math.PI / 180 + 90 * Math.PI / 180; var mr = m * 6 * Math.PI / 180 + s / 60 * 6 * Math.PI / 180 + 90 * Math.PI / 180; var sr = s * 6 * Math.PI / 180 + 90 * Math.PI / 180; context.save(); context.lineWidth = 5; context.fillStyle = "darkgray"; context.strokeStyle = "black"; context.beginPath(); context.moveTo(centerx + 20 * Math.cos(hr), centery + 20 * Math.sin(hr)); context.lineTo(centerx - (radius - 120) * Math.cos(hr), centery - (radius - 120) * Math.sin(hr)); context.moveTo(centerx + 20 * Math.cos(mr), centery + 20 * Math.sin(mr)); context.lineTo(centerx - (radius - 80) * Math.cos(mr), centery - (radius - 80) * Math.sin(mr)); context.moveTo(centerx + 20 * Math.cos(sr), centery + 20 * Math.sin(sr)); context.lineTo(centerx - (radius - 50) * Math.cos(sr), centery - (radius - 50) * Math.sin(sr)); context.closePath(); context.fill(); context.stroke(); context.restore(); } function Drawtext(text, x, y) { context.save(); x -= (context.measureText(text).width / 2); y += 9; context.beginPath(); context.translate(x, y); context.fillText(text, 0, 0); context.restore(); } window.onload = DrawClock; </script> </head> <body> <h1>超酷HTML5时钟(作者:http://www.cnblogs.com/jscode/)</h1> <canvas id="canvas" width="400px" height="400px"> </canvas> <p class="time"><span id="currtime">00:00:00</span> <em></em> </p> </body> </html>
方法作用解释:
DrawClock方法取得Canvas上下文
drawbackground 方法主要是画时钟的背景部分:边框、文字、刻度线
drawpoint 方法用来画时、分、秒线
Drawtext 方法是添加文字的
以上是HTML5编程实战之一-实现HTML5时钟的示例代码分享的详细内容。更多信息请关注PHP中文网其他相关文章!

Microdatainhtml5enhancesseoanduserexperienceByByBybyBystructuredDatatoSearchEngines.1)useIteMscope,itemType,anditempropattributestomarkupcontentlikeSoreRoductSssSssSoRorevents.2)

html5introducesnewinputtypesthatenhanceserexperience,简化开发和iMproveAccessibility.1)自动validatesemailformat.2)优化优化,优化OmportizeSmizesemizesemizesemizesemizesemizeSmobobileWithAnumericKeyPad.3)和SimimplifyDtimePutputientiputiNputiNputits。

H5是HTML5,是HTML的第五个版本。HTML5提升了网页的表现力和交互性,引入了语义化标签、多媒体支持、离线存储和Canvas绘图等新特性,推动了Web技术的发展。

无障碍访问和网络标准遵循对网站至关重要。1)无障碍访问确保所有用户都能平等访问网站,2)网络标准遵循提高网站的可访问性和一致性,3)实现无障碍访问需使用语义化HTML、键盘导航、颜色对比度和替代文本,4)遵循这些原则不仅是道德和法律要求,还能扩大用户群体。

HTML中的H5标签是第五级标题,用于标记较小的标题或子标题。1)H5标签帮助细化内容层次,提升可读性和SEO。2)结合CSS可定制样式,增强视觉效果。3)合理使用H5标签,避免滥用,确保内容结构逻辑性。

HTML5构建网站的方法包括:1.使用语义化标签定义网页结构,如、、等;2.嵌入多媒体内容,使用和标签;3.应用表单验证和本地存储等高级功能。通过这些步骤,你可以创建一个结构清晰、功能丰富的现代网页。

通过合理的H5代码结构可以让页面在众多内容中脱颖而出。1)使用语义化标签如、、等组织内容,使结构清晰。2)通过CSS布局如Flexbox或Grid控制页面在不同设备上的呈现效果。3)实现响应式设计,确保页面在不同屏幕尺寸上自适应。

HTML5(H5)与旧版本HTML的主要区别包括:1)H5引入了语义化标签,2)支持多媒体内容,3)提供离线存储功能。H5通过新标签和API增强了网页的功能和表现力,如和标签,提高了用户体验和SEO效果,但需注意兼容性问题。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版
视觉化网页开发工具