JavaScript 02 — JS and CSS Clock

实现效果

利用JS设置transform:rotate()来实现时钟指针旋转效果。

<script>
// 1、先设置定时器 1000毫秒执行一次
// 2、先确定指针和旋转角度的关系 再获取秒数、秒针旋转角度 最后获取秒针实现旋转
// 秒针:走一圈360度,60秒,即 360/60=6度 
// 分针:走一圈360度,60分钟,即 360/60=6度 
// 时针:走一圈360度,12个小时,即 360/12=30度


const secondHand = document.querySelector('.second-hand')
const minHand = document.querySelector('.min-hand')
const hourHand = document.querySelector('.hour-hand')

function setDate() {
  const now = new Date()

  const seconds = now.getSeconds()
  const secondsDegrees = (seconds * 6) + 90
  // css样式默认是旋转了90度,所以指针的默认位置在九点而不在零点,+90就回到了零点的位置
  secondHand.style.transform = `rotate(${secondsDegrees})deg`

  const mins = now.getMinutes()
  const minsDegrees = (mins * 6) + 90
  minHand.style.transform = `rotate(${minsDegrees})deg`

  const hours = now.getHours()
  const hoursDegrees = (hours * 30) + ((mins / 60) * 30) + ((seconds / 3600) * 30) + 90
  hourHand.style.transform = `rotate(${hoursDegrees})deg`
  console.log(`${hours}时 + ${mins}分 + ${seconds}`)
}

setInterval(setDate, 1000)

setDate() //一打开页面就执行 如果不加此行代码 打卡页面会有一秒钟的卡顿 因为setInterval()回调函数是在1s后执行

</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 JavaScript 来实现一个时钟,HTMLCSS 用来布局和样式化。以下是一个简单的实现: HTML: ``` <div id="clock"></div> ``` CSS: ``` #clock { font-size: 2em; font-weight: bold; text-align: center; } ``` JavaScript: ``` function updateClock() { var now = new Date(); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); var timeString = hours + ':' + minutes + ':' + seconds; document.getElementById('clock').innerHTML = timeString; } setInterval(updateClock, 1000); ``` 这个时钟会每秒钟更新一次,显示当前的时间。 ### 回答2: CSSJSHTML时钟是一种通过使用层叠样式JavaScriptHTML来实现的时钟。这种时钟能够显示当前的时间,并且会实时更新。下面我将分别介绍CSSJSHTML在实现时钟功能中的作用。 首先是CSS,它负责时钟的外观和样式。我们可以使用CSS选择器来选择时钟的不同部分,例如盘、时针、分针和秒针。通过设置不同的样式属性,我们可以控制时钟的颜色、大小、字体等。同时,我们还可以使用CSS过渡和动画效果来实现指针的流畅运动,使时钟更加美观。 其次是JS,它负责时钟的逻辑和功能。我们可以使用JavaScript的Date对象来获取当前的时间信息,包括小时、分钟和秒钟。通过计算时间的角度,我们可以将时钟的指针旋转到正确的位置。另外,我们还可以使用定时器函数(setInterval)来实现时钟的实时更新,让时钟能够每秒钟更新一次。 最后是HTML,它负责时钟的结构和布局。我们可以使用HTML标签来创建时钟的不同部分,例如盘、指针和数字。通过设置不同的class和id,我们可以在CSSJS中选择和操作时钟的各个元素。同时,我们还可以使用CSS Grid或Flexbox来对时钟进行布局和对齐,使其在不同设备上都能够正常显示。 综上所述,CSSJSHTML时钟是通过使用层叠样式JavaScriptHTML来实现的一种能够显示当前时间的时钟。CSS负责样式和外观,JS负责逻辑和功能,HTML负责结构和布局。通过它们的结合,我们可以创造出一个精确而美观的时钟效果。 ### 回答3: CSSJSHTML时钟是一种通过CSS样式、JavaScript脚本和HTML标记语言来实现的显示当前时间的时钟。 在HTML中,我们可以使用<div>标签来创建一个容器,然后使用<span>标签来分别显示时、分、秒,并用":"作为分隔符。 在CSS中,我们可以为时钟容器设置宽度、高度以及背景颜色,使其显示为一个矩形框。为时、分、秒分别设置字体、字号、颜色等样式。通过调整这些样式,我们可以实现不同的外观效果。 在JavaScript中,我们可以使用Date对象来获取当前的时间,并通过JavaScript函数来动态更新时钟的显示。我们可以编写一个函数,在函数中获取当前的时、分、秒,并将其分别赋值给对应的<span>标签,然后通过setTimeout()函数每秒钟调用一次该函数,实现时钟的动态更新。 最后,在HTML中调用该JavaScript函数,即可在网页中显示一个实时动态更新的时钟。 总结起来,CSSJSHTML时钟通过HTML标签创建结构,使用CSS样式设置外观,通过JavaScript脚本获取、更新时间,从而实现了一个简单的时钟效果。这种时钟不仅能够显示当前的时间,还能够随着时间的变化进行实时更新。这种时钟在网页中广泛应用于显示当前时间或计时器等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值