JQuery指针时钟

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery.js"></script>
    <style>
        body{
            background-color: coral;
            padding: 0;
            margin: 0;
        }

        .clock{
            width: 300px;
            height: 300px;
            border-radius: 50%;
            background-color: antiquewhite;
            margin: 100px auto 0px auto;
            position: relative;
            border:20px solid cornsilk;

        }
        .center{
            background-color: #000;
            position: absolute;
            left: calc(50% - 10px);
            top:  calc(50% - 10px);
            width: 20px;
            height: 20px;
            border-radius: 50%;
            z-index: 20;
        }
        .hourHand{
            width: 10px;
            height: 75px;
            background-color: #000;
            transform-origin: bottom center;
            border-radius: 4px;
            position: absolute;
            top: 75px;
            left: 145px;
            z-index: 10;
            transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
            transform: rotate(360deg);

        }
        .minuteHand{
            width: 5px;
            height: 120px;
            background-color: #000;
            transform-origin: bottom center;
            border-radius: 4px;
            position: absolute;
            top: 30px;
            left: 147px;
            z-index: 9;
            transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
            transform: rotate(90deg);

        }
        .secondHand{
            width: 2px;
            height: 120px;
            background-color:red;
            transform-origin: bottom center;
            border-radius: 4px;
            position: absolute;
            top: 30px;
            left: 149px;
            transition: all 0.06s;
            transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
            z-index: 8;
            transform: rotate(360deg);

        }
        .time{
            position: absolute;
            top: 45%;
            left: 10%;
            border: 1px solid #fff8dc;
            background-color: #fff;
            padding: 5px;
            display: block;
            box-shadow: inset 0px 2px 5px rgba(0,0,0,.4);
            border-radius: 5px;
            min-width: 70px;
            height: 15px;

        }
        .time small{
            color:red;
            transition: all 0.05s;
            transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
        }

        .clock ul{
            list-style: none;
            padding: 0;

        }
        .clock ul li{
            position: absolute;
            width:20px;
            height:20px;
            text-align: center;
            line-height: 20px;
            font-size: 10px;
            color:red;
        }
        .clock ul li:nth-child(1){
            right: 22%;
            top:6.5%;
        }
        .clock ul li:nth-child(2){
            right: 6%;
            top:25%;
        }
        .clock ul li:nth-child(3){
            right: 1%;
            top:calc(50% - 10px);
            color:#000;
            font-size: 20px;
            font-weight: bold;
        }
        .clock ul li:nth-child(4){
            right: 6%;
            top:69%;
        }
        .clock ul li:nth-child(5){
            right: 22%;
            top:84%;
        }
        .clock ul li:nth-child(6){
            right: calc(50% - 10px);
            top:calc(99% - 20px);
            color:#000;
            font-size: 20px;
            font-weight: bold;
        }
        .clock ul li:nth-child(7){
            left: 22%;
            top:84%;
        }
        .clock ul li:nth-child(8){
            left: 6%;
            top:69%;
        }
        .clock ul li:nth-child(9){
            left: 1%;
            top:calc(50% - 10px);
            color:#000;
            font-size: 20px;
            font-weight: bold;
        }
        .clock ul li:nth-child(10){
            left: 6%;
            top:25%;
        }
        .clock ul li:nth-child(11){
            left: 22%;
            top:6.5%;
        }
        .clock ul li:nth-child(12){
            right: calc(50% - 10px);
            top:1%;
            color:#000;
            font-size: 20px;
            font-weight: bold;
        }
    </style>
</head>
<body>
<div class="clock">
    <div class="hourHand"></div>
    <div class="minuteHand"></div>
    <div class="secondHand"></div>
    <div class="center"></div>
    <div class="time"></div>
    <ul>
        <li><span>1</span></li>
        <li><span>2</span></li>
        <li><span>3</span></li>
        <li><span>4</span></li>
        <li><span>5</span></li>
        <li><span>6</span></li>
        <li><span>7</span></li>
        <li><span>8</span></li>
        <li><span>9</span></li>
        <li><span>10</span></li>
        <li><span>11</span></li>
        <li><span>12</span></li>
    </ul>
</div>
<script type="text/javascript">
    window.onload = function() {
        const hourHand = document.querySelector('.hourHand');
        const minuteHand = document.querySelector('.minuteHand');
        const secondHand = document.querySelector('.secondHand');
        const time = document.querySelector('.time');
        const clock = document.querySelector('.clock');

        function setDate(){
            const today = new Date();

            const second = today.getSeconds();
            const secondDeg = ((second / 60) * 360) + 360;
            secondHand.style.transform = `rotate(${secondDeg}deg)`;

            const minute = today.getMinutes();
            const minuteDeg = ((minute / 60) * 360);
            minuteHand.style.transform = `rotate(${minuteDeg}deg)`;

            const hour = today.getHours();
            const hourDeg = ((hour / 12 ) * 360 );
            hourHand.style.transform = `rotate(${hourDeg}deg)`;

            time.innerHTML = '<span>' + '<strong>' + hour + '</strong>' + ' : ' + minute + ' : ' + '<small>' + second +'</small>'+ '</span>';
        }

        setInterval(setDate, 1000);

    }
</script>
</body>
</html>

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值