<!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>
<div class="time"><span id="currtime">00:00:00</span><em></em></div>
</body>
</html>
相关推荐
HTML5数字时钟是一种利用HTML5的Canvas API和JavaScript编程技术来实现的动态时钟效果。这个技术在网页设计和开发中广泛应用,为用户提供了一种实时、直观的时间展示方式,无需依赖任何外部插件或服务器端的数据更新...
这篇博文“HTML5 Canvas绘制时钟”旨在介绍如何利用Canvas API创建一个实时更新的数字或指针式时钟。我们将深入探讨Canvas的基础知识、相关API以及实现时钟的具体步骤。 1. HTML5 Canvas基础 HTML5 Canvas是一个二...
综上所述,"html5炫丽时钟效果"涵盖了HTML5 Canvas的使用、JavaScript时间处理、动画框架、模块化编程、事件处理以及可能的CSS和响应式设计。通过这些技术,开发者可以创建出引人注目且互动性强的网页时钟或倒计时...
【纯HTML5绘制的本地时钟特效】是一个利用HTML5技术实现的创新视觉效果,它展示了HTML5的强大功能和灵活性。HTML5作为一种先进的标记语言,不仅增强了网页的结构化能力,还提供了丰富的媒体支持和离线存储等功能。在...
【Html5时钟】是一种利用HTML5、CSS3和JavaScript技术构建的实时显示时间的网页应用。这个项目对于初学者来说是一个很好的实践案例,因为它涵盖了Web前端开发的基础知识,包括结构化标签、样式表现和动态功能。下面...
HTML5引入了许多新的标签,如`<canvas>`,它是一个用于绘制2D图形的可编程区域,可以用来画出时钟的表盘和指针。在这个项目中,`<canvas>`元素将作为画布,通过JavaScript来控制其上的内容。 首先,我们需要在HTML...
这个"基于Html5-canvas炫酷的数字时钟.zip"文件很可能包含了一个使用HTML5 Canvas实现的创新数字时钟示例。在这个项目中,开发者可能利用了Canvas的绘图功能来创建一个视觉上吸引人的时钟界面,它能够实时更新时间,...
在这个“HTML5的时钟实例”中,初级学习者可以了解到如何利用HTML5的Canvas API创建一个实时更新的时钟。 首先,让我们详细探讨HTML5的Canvas API。Canvas是一个二维绘图上下文,允许开发者通过JavaScript来绘制...
总的来说,"html5 css3带翻页数字时钟动画特效"是一个结合了HTML5的`<canvas>`、CSS3的动画和过渡效果以及JavaScript编程的项目,旨在创建一个实时且具有翻页动画效果的数字时钟。通过理解和实践这样的项目,开发者...
HTML5是现代网页开发的核心技术之一,它引入了许多新的元素、API和功能,极大地扩展了网页的交互性和表现力。本资源"超级实用的html5制作15种数字时钟样式代码"正是利用HTML5的强大特性,展示了如何通过编程创建各种...
总之,实现抖音上流行的罗马时钟H5涉及到了HTML5、CSS3和JavaScript的综合运用,通过巧妙的设计和编程,我们可以在网页上创建出一款既美观又实用的时钟应用。这一过程中,不仅可以学习到前端开发的基础知识,还能...
在这个案例中,"HTML5显示日期星期的圆形时钟代码"是一个使用HTML5的Canvas元素创建的交互式时钟,能够实时显示当前的时间、日期以及星期。Canvas是HTML5中的一个强大的图形绘制接口,通过JavaScript来绘制2D图形。 ...
网页时钟是一个常见的交互式网页元素,它利用HTML、CSS和JavaScript这三种核心技术来实现。在Web开发中,HTML负责构建网页的基本结构,CSS用于美化页面样式,而JavaScript则为网页添加动态功能,如实时时间更新。在...
HTML5 Canvas 是一个强大的网页图形绘制工具,它允许开发者通过JavaScript在浏览器中直接进行2D图形的绘制。在这个项目中,“html5 canvas制作15种数字时钟样式代码”是利用Canvas API创建了十五种不同设计风格的...
在本教程中,我们将探讨如何利用HTML5 canvas实现一个超逼真的模拟时钟特效。 首先,我们需要理解canvas的基本结构。HTML5的`<canvas>`标签是一个矩形区域,可以通过JavaScript来绘制图形。在canvas上绘图,我们...
HTML5时钟是一种利用网页技术实现的实时时间显示工具,主要通过HTML5的Canvas API来绘制动态的时钟界面。这个特定的时钟代码包含一个带有表盘和数字刻度的交互式设计,并且提供了三种内置的主题供用户选择。下面我们...
而JavaScript是一种广泛用于网页开发的编程语言,它能够实现网页的交互性和动态效果。 【描述分析】 描述中提到"用javascript写的练习脚本,代码很简单,适合初学者",这暗示了这个项目是一个教学资源,可能是一个...
总结来说,这个“HTML5 3D液晶数字时钟动画特效”项目是一个综合运用HTML5的`<canvas>`、three.js以及可能的CSS技术实现的创新示例,展示了如何在网页上创建互动性强、视觉效果出色的3D时钟。对于学习Web开发,尤其...
大家在刷视频的时候看到的动态罗盘时钟,今天给出源码,供喜欢的...html5 时钟显示模板,直接显示当前的时间,还能按照秒自动加时,动画效果也随着时间的变化而变化。动画指向也为当前的时间,罗盘显示,贼帅罗盘时钟