纯原生开发时钟效果,话不多说直接上代码。

HTML标签部分

<div class="cricles">
        <div class="pointls">
            <!-- 表盘内长刻度 -->
        </div>
        <div class="pointM">
            <!-- 表盘内短刻度 -->
        </div>
        <div class="poniters">
            <div class="point_ho">
                <!-- 时针 -->
            </div>
            <div class="point_min">
                <!-- 分针 -->
            </div>
            <div class="point_sec">
                <!-- 秒针 -->
            </div>
            <span></span>
        </div>
    </div>
css样式部分
 <style>
        .cricles {
            width: 300px;
            height: 300px;
            background-color: aqua;
            border-radius: 100%;
            border: 2px solid yellow;
            margin: 100px auto;
            position: relative;
        }
        
        .pointL {
            background-color: red;
            height: 40px;
            width: 5px;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            margin: auto;
        }
        
        .pointS {
            background-color: black;
            height: 20px;
            width: 5px;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            margin: auto;
        }
        
        .poniters {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            margin: auto;
            height: 10px;
            width: 10px;
            /* yellow; */
        }
        
        .poniters div {
            left: 0;
            right: 0;
            bottom: 4px;
            margin: auto;
            position: absolute;
            background-color: tomato;
            height: 60px;
            transform-origin: center bottom;
            width: 4px;
        }
        
        span {
            width: 15px;
            height: 15px;
            display: block;
            position: absolute;
            left: -5px;
            right: 0;
            bottom: -5px;
            box-shadow: 0 0 20px black;
            top: 0;
            margin: auto;
            border-radius: 50%;
            background-color: blueviolet;
        }
    </style>
js部分
<script>
        //设置表盘大针
        setBigTime();
        setSmallTime();
        setTimePoint();
        setInterval(function() {
            setTimePoint();
        }, 1000);
        function setBigTime() {
            var olis = "";
            var pointList = document.querySelector(".pointls");
            for (var i = 0; i < 12; i++) {
                olis += `<div class="pointL"></div>`;
            }
            pointList.innerHTML = olis;
            var pointLs = document.querySelectorAll(".pointL");
            // for
            pointLs.forEach(function(v, k) {
                v.style.transform = ` rotate(${30*k}deg) translateY(130px)`;
            });
        }
        //设置表盘小针
        function setSmallTime() {
            var olis = "";
            var pointList = document.querySelector(".pointM");
            for (var i = 0; i < 60; i++) {
                olis += `<div class="pointS"></div>`;
            }
            pointList.innerHTML = olis;
            var pointLs = document.querySelectorAll(".pointS");
            // for
            pointLs.forEach(function(v, k) {
                if ((6 * k) % 30 === 0) {
                    v.style.display = "none";
                }
                v.style.transform = ` rotate(${6*k}deg) translateY(140px)`;
            });
        }
        function setTimePoint() {
            var d = new Date();
            var housePoint = document.querySelector(".point_ho");
            housePoint.style.height = "40px";
            housePoint.style.background = "blue";
            housePoint.style.transform = `rotate(${30*d.getHours()}deg)`;
            var minPoint = document.querySelector(".point_min");
            minPoint.style.height = "60px";
            minPoint.style.background = "black";
            minPoint.style.transform = `rotate(${6*d.getMinutes()}deg)`;
            var secPoint = document.querySelector(".point_sec");
            secPoint.style.height = "80px";
            secPoint.style.background = "red";
            secPoint.style.transform = `rotate(${6*d.getSeconds()}deg)`;
        }
    </script>

web实现时钟效果的更多相关文章

  1. Flash AS实现时钟效果(全脚本实现)

    最近工作中用到个Flash效果,好久没有写FlashAS脚本了,就想从以前写的代码中找一些实例.竟然看到硬盘中还留有若干年前的代码. 这个时钟效果是全部采用脚本实现,图形也是用脚本绘制的.写于2005 ...

  2. transform实现的时钟效果

    又来一个时钟效果了,这个的实现不需要canvas,都是div.ul.li画出的,好玩有真实. 哈哈~ 需要的js才能实现到走动这个效果,但js的内容不多,也不难. 主要是一个css里transform ...

  3. jQuery制作Web全屏效果

    需要的资源 1.jQuery版本库是必不可少的2.jQuery FullScreen plugin如果你下载不方便的话,你可以直接把下面的代码copy到你本地JQuery FullScreen plu ...

  4. 原生javascript实现网页显示日期时钟效果

    刚接触javascript中Date内置对象时,以为这些方法都太简单了,结果要自己实际操作写一个时钟效果还真一时把我难住了,主要有几点大家要注意的.先看实际效果 要实现这样的效果 某年某月某日星期几几 ...

  5. 史上最简单的js+css3实现时钟效果

    今天我看到百度搜索的时间那个效果不错,于是就产生了模仿一下的效果,不过为了节省时间,就随便布了下局,废话不多说,先看看效果吧,顺便把百度的效果也拿过来. 对比样子差了好多啊,但是基本功能都是实现了的, ...

  6. GDI绘制时钟效果,与系统时间保持同步,基于Winform

    2018年工作之余,想起来捡起GDI方面的技术,特意在RichCodeBox项目中做了两个示例程序,其中一个就是时钟效果,纯C#开发.这个CSharpQuartz是今天上午抽出一些时间,编写的,算是偷 ...

  7. 转 CSS3+js实现多彩炫酷旋转圆环时钟效果

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. canvas实现的时钟效果

    最近在网上看到了一个css3实现的可爱时钟,觉得很nice,然后就想着用canvas试试实现这个时钟效果. 首先,要实现时钟需要先计算时钟上的数字应该占整个圆的大小. 因为一个圆是360度,所以数字之 ...

  9. 基于canvas的原生JS时钟效果

    概述 运用html5新增画布canvas技术,绘制时钟效果,无需引用任何插件,纯js. 详细 代码下载:http://www.demodashi.com/demo/11935.html 给大家介绍一个 ...

随机推荐

  1. Python-collections模块之defaultdict

    defaultdict defaultdict 是 dict 类型的子类,正如其名,初始化时,可以给key指定默认值,什么意思呢?直接看代码.如果是普通的dict对象,访问一个不存在的key时,会报错 ...

  2. 超详细 DNS 协议解析

    尽人事,听天命.博主东南大学研究生在读,热爱健身和篮球,正在为两年后的秋招准备中,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 C ...

  3. PyQt5 问题集

    PyQt5中遇到的一些问题 1.多线程中界面异步刷新 我这里需要给界面动态添加新的控件,但是多线程中似乎并不能直接更新页面? 对于逻辑和界面分离的情况,使用自定义信号的方式进行页面控件的动态添加.注意 ...

  4. 云原生系列1 pod基础

    POD解决了什么问题? 成组资源调度问题的解决. mesos采用的资源囤积策略容易出现死锁和调度效率低下问题:google采用的乐观调度技术难度非常大: 而k8s使用pod优雅的解决了这个问题. po ...

  5. HOC in Depth

    HOC in Depth Higher-Order Components https://reactjs.org/docs/higher-order-components.html 1. wrappe ...

  6. Typescript & React & optional parameters & default parameters

    Typescript & React & optional parameters & default parameters Typescript & optional ...

  7. Flutter 模拟youtube快进icon

    import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends State ...

  8. 关于USDN你想知道的一切

    稳定币的发展只有短短几年的时间.稳定币最早起源于 2014 年 Bitfinex 组建的泰德公司发行的 USDT.稳定币是一种具有稳定价值的加密货币.稳定币诞生的背景是加密货币的价格波动巨大,其作为一 ...

  9. 「NGK每日快讯」2021.1.11日NGK第69期官方快讯!

  10. 比起USDT,我为什么建议你选择USDN

    2018年1月16日,USDT(泰达币)进入了很多人的视野.因为在这一天,在全球价值排名前50的加密货币中,包括比特币.莱特币以及以太坊在内的大多数的数字虚拟加密货币都遭遇了价格大幅下跌,只有泰达币价 ...