CSS 沿着同一个方向旋转

news2024/11/30 8:38:17

主要解决旋转360°后倒转的问题,沿着一个方向旋转,而不是倒回去重新开始。

效果

 源码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>同方向旋转</title>
    <script src="https://dp.rc114.com/Content/TDZ/5234/js/jquery-3.3.1.min.js"></script>
    <style>
        .main {
            width: 80%;
            text-align: center;
            margin: 0 auto;
        }

        .steps {
            margin: 100px auto;
            width: 300px;
            height: 300px;
            background: red;
            transition: width 2s;
            transition: all 1.2s ease-in-out;
        }

        .noAnimation {
            -webkit-transition: none;
            -moz-transition: none;
            -o-transition: color 0 ease-in;
            -ms-transition: none;
            transition: none;
        }

        .animation {
            transition: all 1.2s ease-in-out;
        }

        .log {
            text-align: center
        }
    </style>
</head>

<body>
    <div class="main">
        <h3>同方向旋转示例</h3>
        <div>主要解决旋转360°后倒转的问题,沿着一个方向旋转,而不是倒回去,重新开始,主要语句: $(".steps").css("transform", "scale(1,1) rotate(0deg)")</div>
        <div class="steps">
            <div style="width: 20px;height: 20px;background-color: yellow;border:1px solid red"></div>
        </div>
        <div class="log"></div>
    </div>
    <script type="text/javascript">
        var _testTime = null
        var times = 0;
        $(function () {
            _testTime = setInterval(function () {
                $(".steps").addClass("animation")
                var cur = getRotationDegrees($(".steps"))
                var tmp = cur + 30;
                log("第" + times + "次,角度:" + tmp);
                $(".steps").css("transform", "rotate(" + tmp + "deg)")
                times++

                if (times == 11) {
                    times = 0;
                    $(".steps").css("transform", "scale(1,1) rotate(0deg)") //关键语句
                    $(".steps").addClass("noAnimation")
                    reset();
                }
            }, 1500)


        })

        function getRotationDegrees(obj) {
            var matrix = obj.css("-webkit-transform") ||
                obj.css("-moz-transform") ||
                obj.css("-ms-transform") ||
                obj.css("-o-transform") ||
                obj.css("transform");
            if (matrix !== 'none') {
                var values = matrix.split('(')[1].split(')')[0].split(',');
                var a = values[0];
                var b = values[1];
                var angle = Math.round(Math.atan2(b, a) * (180 / Math.PI));
            } else { var angle = 0; }
            return (angle < 0) ? angle + 360 : angle;
        }

        function log(text) {
            $(".log").text(text);
        }
    </script>
</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32MP135】修复EMMC模式启动时,uboot启动识别为usb0设备问题

文件路径&#xff1a;u-boot-stm32mp-v2021.10-stm32mp1-r1/arch/arm/dts/stm32mp135d-atk.dts 文件路径&#xff1a;u-boot-stm32mp-v2021.10-stm32mp1-r1/configs/stm32mp13_defconfig

ChatGLM 实践赛之学术工具创意开发丨智谱 AI × 和鲸科技

2022 年底以来&#xff0c;LLM 大规模语言模型备受瞩目。今年 3 月中旬&#xff0c;智谱 AI 与清华大学强强联合&#xff0c;重磅发布了 ChatGLM-6B 开源模型。截止 6 月 24 日&#xff0c;该模型的下载量超过三百万人次&#xff0c;并在 Hugging Face&#xff08;HF&#xff0…

jdbc中jdbcTemplate的事务问题

jdbcTemplate的增删改都用 update 查询用queryForList 1. 2. 3.虽然事务未提及也可以查到对应的数据

优思学院|六西格玛全面入门指南

I. 引言 六西格玛的定义 六西格玛&#xff08;Six Sigma&#xff09;是一种基于数据、以客户为导向、不断改进的方法论&#xff0c;用于提高组织中过程和产品的质量。六西格玛旨在消除缺陷&#xff0c;减少过程中的变异性&#xff0c;从而提高客户体验&#xff0c;并增加组织…

pip install visdom时报错

在envs所在环境下pip install visdom报如下错误&#xff1a; 解决方法&#xff0c;换源&#xff1a; pip install visdom -i https://pypi.tuna.tsinghua.edu.cn/simple

基于Web的社区医院管理服务系统

本次设计任务是要设计一个社区医院管理服务系统&#xff0c;通过这个系统能够满足社区医院管理服务的管理及医生和用户的社区医院管理服务功能。系统的主要功能包括首页、个人中心、用户管理、医生管理、预约医生管理、就诊信息管理、诊疗方案管理、病历信息管理、健康档案管理…

Vue3 使用vue-seamless-scroll 轮播组件报错问题解决

1、npm安装组件 npm install vue3-seamless-scroll --save 全局注册 import { createApp } from vue;import App from ./App.vue;import vue3SeamlessScroll from "vue3-seamless-scroll";const app createApp(App);app.use(vue3SeamlessScroll);app.mount(#app); …

ChatGPT驱动虚拟主播(2)语音驱动图片数字人

整个流程是这样的 。你说话的 语音-->语音转为文字 -->chatgpt --> 文字转为语音-->驱动虚拟主播。 前面的流程都是非常多的参考代码。下面代码就是教你如果做到这一步。这个虚拟主播是可用wav格式音频驱动虚拟主播的。代码是一个http接口&#xff0c;上传wav文件…

traceId跟踪请求全流程日志

一个系统被拆分成N多个模块&#xff0c;这些模块负责不同的功能&#xff0c;组合成一套系统&#xff0c;最终可以提供丰富的功能。在这种分布式架构中&#xff0c;一次请求往往需要涉及到多个服务&#xff0c;如下图&#xff1a; 服务之间的调用错综复杂&#xff0c;对于维护的…

vue路由传递对象数组,打印数据 [object Object] 解决方法

1、router路由传参一般两种方式。一种是query传参&#xff0c;另外一种则是params传参。由于params传参刷新页面&#xff0c;会导致数据丢失。所以采用query传参方式比较多&#xff0c;但当使用query传递对象&#xff0c;数组时&#xff0c;刷新页面会报[object Object]&#x…

J. Not Another Path Query Problem

Problem - J - Codeforces 思路&#xff1a;因为我们要让路径的与大于等于V&#xff0c;假设某个路径的与为S&#xff0c;存在两种可能&#xff0c;一种是SV&#xff0c;另一种可能是在第i个位置V的二进制为零&#xff0c;而S的二进制为1&#xff0c;且前i-1个二进制是相等的。…

FLAC格式如何转换为MP3?分享三种方法!

在数字音乐的世界中&#xff0c;FLAC和MP3是两种常见的音频格式。FLAC (Free Lossless Audio Codec)提供无损的音质&#xff0c;但文件大小较大。而MP3文件较小&#xff0c;更易于传输和保存&#xff0c;但可能牺牲一些音质。如果你想将FLAC音频转换成MP3格式&#xff0c;本文将…

【算法】数位DP

文章目录 数位DP前置知识——位运算与集合论 例题——2376. 统计特殊整数思路代码模板&#xff08;重要&#xff01;⭐⭐⭐⭐⭐&#xff09;针对这道题&#xff0c;可以去掉 isNum 参数 相关题目练习233. 数字 1 的个数⭐⭐⭐⭐⭐代码模板修改——记录cnt&#xff08;前面已经选…

Docker(三)之容器管理工具 Docker生态架构及部署

容器管理工具Docker生态架构及部署 一、Docker生态架构 1.1 Docker Containers Are Everywhere 1.2 生态架构 1.2.1 Docker Host 用于安装Docker daemon的主机&#xff0c;即为Docker Host&#xff0c;并且该主机中可基于容器镜像运行容器。 1.2.2 Docker daemon 用于管理…

基础篇-STM32初体验

MDK5编译例程 串口下载程序 DAP下载程序 DAP调试程序

多领域入选!棱镜七彩上榜《嘶吼2023网络安全产业图谱》

2023年7月10日&#xff0c;国内网络安全行业第三方研究机构嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》&#xff0c;棱镜七彩凭借在开源安全领域的创新性及服务能力&#xff0c;上榜开发与应用、应用于产业…

解决2003-Host‘ ‘is not allowed to connect to this MySQL server,实现远程连接本地数据库

目录 1.打开终端控制面板 2.进入mysql库 3.执行更新权限语句 4.查看权限 5.刷新服务器配置 6.进入Navict测试连接 在使用Navicat远程连接本地数据库时&#xff0c;遇到了这样一个问题&#xff0c; 我使用 本地主机的地址&#xff0c;连接本地的数据库&#xff0c;报错host…

(CentOS 7)nvidia-smi:Failed to initialize NVML: Driver/library version mismatch

[CentOS 7]nvidia-smi:Failed to initialize NVML: Driver/library version mismatch 问题源头&#xff1a; nvidia-smi \text{nvidia-smi} nvidia-smi报错问题 CUDA \text{CUDA} CUDA安装时的问题 这里仅描述自身发现的一种情况&#xff0c;希望对大家有所帮助。 问题源头&…

JMX+Prometheus监控Grafana展示

文章目录 概述Java代码使用PrometheusApi统计监控指标PrometheusGrafana展示 概述 最近在阅读InLong的源码&#xff0c;发现它采用通过JMXPrometheus进行指标监控。 这里做了下延伸将介绍使用JMXPrometheusGrafana进行监控指标展示&#xff0c;这里单独将Metric部分代码抽离出…

网络配置管理器中的系统日志配置

包含许多设备的大型网络基础设施将在其清单中具有某些重要和关键设备&#xff0c;例如核心路由器或防火墙。这些设备必须始终受到有关任何配置更改的持续监视。 在如此庞大的网络中&#xff0c;手动跟踪所有这些重要设备并在每次进行新更改时触发备份几乎是不可能的。如果管理…