紧接着昨天的实例,第二个是原生js实现钟表特效。
首先介绍下大致思路,首先要用css把时针分针和秒针画出来。然后根据钟表中,角度和时间的算法关系。

设置角度。

最后使用定时器,每秒运行一次。

需要注意的是,我的算法和之前的算法不一样,这个可以根据自己的想法实现,实现的效果是不一样的。

首先知道钟表是360°,然后根据一个小时30°,来算出各个针的角度。

https://github.com/CookaCooki... 附上gayhub地址

<script>const secondHand = document.querySelector('.second-hand');const minsHand = document.querySelector('.min-hand');const hourHand = document.querySelector('.hour-hand');function setDate() {const now = new Date();const seconds = now.getSeconds();const secondsDegrees = ((seconds / 60) * 360) + 90;secondHand.style.transform = `rotate(${secondsDegrees}deg)`;const mins = now.getMinutes();const minsDegrees = ((mins / 60) * 360) + ((seconds / 60) * 6) + 90;minsHand.style.transform = `rotate(${minsDegrees}deg)`;const hour = now.getHours();const hourDegrees = ((hour / 12) * 360) + ((mins / 60) * 30) + 90;hourHand.style.transform = `rotate(${hourDegrees}deg)`;}setInterval(setDate, 1000);setDate();</script>

最后符上知乎地址 https://zhuanlan.zhihu.com/p/...

(30个原生js挑战)原生js实现钟表相关推荐

  1. iOS下JS与原生OC互相调用

    iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式. JS调用原生OC篇 方式一 第一种方式是用JS发起一个假的URL请求,然后利 ...

  2. linux脚本石英钟,原生JS实现的简单小钟表功能示例

    本文实例讲述了原生JS实现的简单小钟表功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 完整代码: www.jb51.net 钟表 body { background-color:#00A2 ...

  3. 在js对象上绑定js数组原生方法

    在js对象上绑定js数组原生方法 在js对象上绑定数组方法会给当前对象添加一个lenght:0属性 例: var o = {}; [].pop.call(o) console.log(o)//返回结果 ...

  4. android 原生调用js,js调用原生

    原生调用js方法,带参数 activityBaseWebAddWebView.loadUrl("javascript:changeColor('" + viewColor + &q ...

  5. vue js 和原生app调用回调方法问题

    vue js 和原生app调用回调方法问题 import Vue from 'vue' export default { name: 'list', components: { }, data: () ...

  6. iOS下JS和原生交互,函数互调

    现在越来越多的APP都是H5和原生混合开发,这样确实方便快捷,但是H5的部分总避免不了很多与原生的交互,原生调JS函数还比较简单,原生的API函数stringByEvaluatingJavaScrip ...

  7. Android JS调原生 有盟分享 打开微信分享 原程序崩溃问题 报android.view.ViewRootImpl$CalledFromWrongThreadException:

    报的问题:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created ...

  8. 移动端(ios and android)长按识别二维码(含js与原生互调)

    这篇文章就整理下移动端长按识别二维码的实现吧!实现方式可以分为三种 一.长按原生控件,直接获取控件中的图片数据(src或background) 二.长按原生控件,截图识别 三.长按web中的图片,ap ...

  9. 通过video.js或原生事件统计实际观看视频时长,支持多视频时长统计

    前言:1.根据评论提问,优化了视频统计逻辑,增加了网络卡顿时暂停计时,重新播放后重新计时的功能.根据以下下载地址可以下载完整代码示例, 更新于:2022年8月26号,2.新增通过原生事件的写法统计观看 ...

  10. Js简朴原生实现弹框

    Js简朴原生实现弹框 <!DOCTYPE html> <html lang="en"><head><meta charset=" ...

最新文章

  1. ionic app 开发和生产环境的配置
  2. db2不记录日志插入记录
  3. IE6、IE7、IE8、Firefox兼容性CSS
  4. 125. Leetcode 91. 解码方法 (动态规划- 字符串系列)
  5. 设置程序中的html,如何在Behat中为HTML格式化程序设置自定义模板
  6. SDNU 1477.矩形面积交(思维)
  7. WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用 Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 C
  8. 124_Power PivotPower BI DAX优化计算最大连续次数
  9. java swing对话框_Java开发笔记(一百三十五)Swing的文件对话框
  10. git本地给远程仓库创建分支
  11. 关于图神经网络的相关学习资源的分享——网站 博客(一)
  12. Oracle grant connect, resource to user语句中的权限
  13. mysql.5.7 declare_MySQL-5.7 游标及DECLARE
  14. FreeRTOS-TaskNotify
  15. 太阳电池IV测试软件,太阳能电池IV测试系统
  16. 番茄ToDo帮助文档
  17. 关于《学编程,还有必要上大学吗? 》
  18. 5.大型电商项目之创建前端展示模板并调用
  19. bert:pre-training of deep bidirectional transformers for language understanding
  20. KLayout教程(一)画不同的形状

热门文章

  1. [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)...
  2. WEBGIS体系和OGC标准
  3. centos 支持 ntfs格式
  4. 携程CEO称成功来自传统营销 B2C已经过时
  5. FLV播放器 源码二例
  6. csdn博客怎么修改字体的大小和颜色
  7. nagios系列(六)之nagios实现对服务器cpu温度的监控
  8. js联动清除的一个想法
  9. C# PictureBox加载图片并显示进度条
  10. 需求编写的几点经验之谈