`
xuyanlu
  • 浏览: 8402 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript 简单的钟表

 
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<style type="text/css">
div{
margin:0px auto;
}
</style>
</head>


<body>
<div style="margin-top:100px;width:450px;">
<canvas id="drawing" width="320" height="240"> Your browser does not support the canvas element.</canvas>
</div>

</body>


<script type="text/javascript">

function currentClock(){
var dt = new Date();
var minutes = dt.getMinutes();
var hours = dt.getHours();
var seconds = dt.getSeconds();
var _basicRadian = 2 * Math.PI/360;
/** 角度是以分针指向12时计算 **/
var _basicSecondAngle = 6;
var _basicMinuteAngle = 6; //一分钟的角度
var _basicHourAngle = 30;
var _basicHourPerAngle = 0.5; //分针移动一分钟时间移动的角度 360/60 = 30/x x= 0.5
var _basicMinutesPerAngle = 0.1; // 秒针移动一秒,分针移动的角度 360/6 = 6/x x = 0.1
var _secondsAngle = seconds * _basicSecondAngle;
var _minutesAngle = minutes * _basicMinuteAngle + seconds * _basicMinutesPerAngle; //当前分钟的角度
var _hoursAngle = hours * _basicHourAngle + minutes * _basicHourPerAngle;

//秒针坐标
var secondsPointX = Math.sin(_secondsAngle * _basicRadian) * 85 + 100;
var secondsPointY = 100 - Math.cos(_secondsAngle * _basicRadian) * 85;

//分针坐标
var minutesPointX = Math.sin(_minutesAngle * _basicRadian) * 77 + 100;
var minutesPointY = 100 - Math.cos(_minutesAngle * _basicRadian) * 77;
//时针坐标
var hoursPointX = Math.sin(_hoursAngle * _basicRadian) * 70 + 100;
var hoursPointY = 100 - Math.cos(_hoursAngle * _basicRadian) * 70;

//document.write("X:" + minutesPointX + "------Y:" + minutesPointY);
var drawing = document.getElementById("drawing");
/*Mozilla 支持*/
if(drawing.getContext){
var context = drawing.getContext("2d");
}
context.clearRect(0, 0, 300, 300);
context.beginPath();
context.lineWidth = "2";
//绘制外圆
context.arc(100, 100, 99, 0, 2 * Math.PI, false);
//绘制内圆
context.moveTo(194, 100);
context.arc(100, 100, 94, 0, 2 * Math.PI, false);
context.save();
context.stroke();
context.moveTo(104, 100);
context.fillStyle = "rgba(0, 0, 255, 0.5)";
context.arc(100, 100, 4, 0, 2 * Math.PI, false);
//绘制秒针
context.moveTo(100, 100);
context.lineTo(secondsPointX, secondsPointY);
context.lineCap = "square";
//绘制分针
context.moveTo(100, 100);
context.lineTo(minutesPointX, minutesPointY);
context.save();
context.stroke();
//绘制时针
context.beginPath();
context.moveTo(100, 100);
context.lineTo(hoursPointX, hoursPointY);
context.save();
context.stroke();
context.font = "bold 10px Arial";
context.textAlign = "center";
context.textBaseline = "middle";
context.fillText("12", 100, 12);
context.fillText("6", 100, 187);
context.fillText("9", 12, 100);
context.fillText("3", 187, 100);
context.fillText("1", 100+88/2, 100 - Math.sqrt(88*88-44*44));
context.fillText("2", 100 + Math.sqrt(88*88-44*44), 100-88/2);
context.fillText("4", 100 + Math.sqrt(88*88-44*44), 100+88/2);
context.fillText("5", 100+88/2, 100 + Math.sqrt(88*88-44*44));
context.fillText("7", 100-88/2, 100 + Math.sqrt(88*88-44*44));
context.fillText("8", 100 - Math.sqrt(88*88-44*44), 100+88/2);
context.fillText("10", 100 - Math.sqrt(88*88-44*44), 100-88/2);
context.fillText("11", 100-88/2, 100 - Math.sqrt(88*88-44*44));
context.save();
context.stroke();

}

function showTime(){
currentClock();
setTimeout(showTime, 1000);
}

showTime();
</script>

</html>


效果如下:


分享到:
评论

相关推荐

    javascript绘制简单钟表效果.docx

    javascript 绘制简单钟表效果 javascript绘制简单钟表效果是指使用javascript语言绘制一个简洁的时钟效果,通过使用canvas元素和javascript代码来实现。下面是相关知识点的详细说明: 1. HTML5 canvas元素:canvas...

    【JavaScript源代码】JavaScript实现简单钟表时钟.docx

    ### JavaScript 实现简单钟表时钟 #### 一、项目概述 本文将详细介绍如何使用JavaScript来制作一个简单的钟表时钟。此项目不仅能够帮助读者理解JavaScript的基本操作,还能够学习到HTML与CSS的结合使用,以及如何...

    javascript动态显示钟表

    本文将详细介绍如何使用JavaScript(简称JS)来实现一个简单的动态时钟效果。该示例不仅能够实时更新时间,还能自动在小时、分钟和秒数前添加零以保持两位数格式。 #### 二、关键技术点 1. **获取当前时间** - ...

    JavaScript小特效钟表 大笨钟.zip

    JavaScript小特效钟表,通常指的是使用JavaScript编程语言创建的具有动态显示时间功能的网页元素,这类特效钟表能够实时更新当前的时间,为网页增添互动性和趣味性。在本案例中,"大笨钟"可能是一种视觉设计上的比喻...

    JavaScript小特效钟表 大笨钟.7z

    JavaScript小特效钟表“大笨钟”正是这样一个例子,它展示了如何利用前端技术将一个简单的数字时钟转化为富有视觉吸引力和实时更新的网页特效。 我们以“大笨钟”为名,可能会让人联想到英国伦敦的著名地标——大笨...

    HTML5制作简单的钟表

    本教程将详细讲解如何利用HTML5来制作一个简单的钟表。 首先,HTML5的核心在于其语义化标签,这些标签如`&lt;header&gt;`, `&lt;nav&gt;`, `&lt;article&gt;`, `&lt;section&gt;`等,帮助我们更好地组织页面结构。在制作钟表的场景下,我们...

    基于javascript设计的数码钟表

    用javascript实现的一个超炫酷的数码钟表,可以用于网页的特殊布局

    javascript绘制简单钟表效果

    本文将详细介绍如何使用JavaScript与HTML5的Canvas API来绘制一个简单的模拟时钟效果。这种实现方式适用于Web前端开发,在网页上动态展示时间,同时提供了学习如何操作Canvas API的良好示例。 首先,我们从创建一个...

    javascript写的时钟

    JavaScript编写的时钟是一种常见的网页动态效果,它利用了JavaScript语言强大的时间和日期处理能力来实时显示当前时间。在这个实例中,我们主要会涉及到以下几个JavaScript的知识点: 1. **全局变量与函数**:在...

    简单的Javascript实训4.doc

    例如,在给定的代码中,我们可以看到一个简单的钟表示例: ```html &lt;div id="txt"&gt;&lt;/div&gt; ``` 这里,我们使用了 Javascript 语言来获取当前时间,并使用 `innerHTML` 属性来更新网页的内容。 四、其他知识点 在...

    CSS3实现钟表UI

    在本文中,我们将深入探讨如何使用CSS3和JavaScript来实现一个具有自己设计UI的钟表。CSS3(层叠样式表第三版)是Web开发中用于控制网页样式和布局的重要技术,而JavaScript则是用于增强页面交互性和动态效果的脚本...

    javacript电子钟表

    这个最简易的JavaScript电子钟表项目旨在帮助初学者理解如何在网页上创建一个简单的计时器,显示当前的小时、分钟和秒数。下面我们将深入探讨相关知识点。 一、JavaScript基础 1. 变量:在JavaScript中,我们使用`...

    HTML5+css3钟表网页特效

    2. `&lt;canvas&gt;`元素:这是HTML5中的一个绘图区域,允许开发者通过JavaScript进行动态图形绘制,是实现钟表指针动画的关键。 3. `&lt;time&gt;`元素:虽然在这个特定的特效中可能不直接使用,但用于表示日期和时间,有助于...

    墙上挂的钟表

    在`clock.html`文件中,我们可能看到一个简单的HTML布局,包含一个`&lt;div&gt;`元素来代表钟表的容器,可能还有其他元素用于显示时、分、秒针。例如: ```html &lt;!DOCTYPE html&gt; 墙上挂的钟表 ...

    javascript时间显示各种特效

    通过CSS3的`transition`和`animation`属性,结合JavaScript控制DOM元素的样式,可以创建各种时间相关的动画效果,如钟表指针转动、时间滑动显示等。 8. **事件监听**: 使用`addEventListener()`方法,可以监听...

    使用canvas绘制钟表

    本教程将详细介绍如何使用canvas绘制一个动态的钟表,这涉及到JavaScript和Canvas API的基础知识。 首先,我们需要在HTML页面中创建一个canvas元素,并设置其id以便在JavaScript中引用: ```html ...

    基于HBuilder的xml网页钟表

    XML网页钟表的实现原理可能是这样的:开发者首先在XML文件中定义好钟表的结构,包括小时、分钟和秒的元素,每个元素可能包含一个特定的ID或者类名以便于JavaScript进行操作。接着,JavaScript会获取当前系统时间,...

    HTML5canvas写的酷炫钟表

    JavaScript是驱动这个3D钟表动画的关键。通过监听`window`对象的`requestAnimationFrame()`方法,开发者可以定时更新画布内容,实现平滑的动画效果。每帧中,都会重新计算并绘制钟表的各个部分,使其随着时间的推移...

Global site tag (gtag.js) - Google Analytics