CSS 沿着同一个方向旋转

这篇具有很好参考价值的文章主要介绍了CSS 沿着同一个方向旋转。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

效果

CSS 沿着同一个方向旋转,CSS,css,前端,css3

 源码

<!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>

在线示例

同方向旋转文章来源地址https://www.toymoban.com/news/detail-550839.html

到了这里,关于CSS 沿着同一个方向旋转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【点击新增一个下拉框 与前一个内容一样 但不能选同一个值】

    主要是看下拉选择el-option的disabled,注意不要混淆 methods:

    2024年02月11日
    浏览(60)
  • 不同版本.net引用同一个项目

    项目文件.csproj文件内容如下: 重点是:不能有其他的 netstandard2;net40;net45;net46;net6

    2024年02月10日
    浏览(54)
  • 不同设备使用同一个Git账号

    想要在公司和家里的电脑上用同一个git账号来pull, push代码 第1种方法, 依次输入 第2种方法, 输入 用户名和邮箱与原设备保持一致 输入上面三句话之后会弹出提示是否在此电脑上创建.ssh文件夹,回车同意即可 接着会提示设置密码,不设置就连按两次回车 完成之后,在 “

    2024年04月10日
    浏览(56)
  • Unity批量给模型上同一个材质

    Unity批量给模型上同一个材质 第一步:先选择所有要上材质的模型:  第二步:将创建的材质拖到右侧属性栏:  

    2024年02月12日
    浏览(42)
  • 前端 CSS 3D 照片墙自动旋转案例(详细步骤)

    案例动画 Gif 动画地址,图片太大传不上来! 案例 DEMO 源码地址 ,仅供参考。

    2024年01月18日
    浏览(59)
  • 如何用css实现一个3D旋转照片墙

       学习前端是件很有趣的事,今天我又来分享一下关于html+css实现的3D效果的照片墙的代码啦,希望感兴趣的小伙伴会喜欢!    今天,我们要做一个3D旋转相册,首先让我们了解一下关于3D。    3D立体其实就像数学中的x轴,y轴,z轴,在网页上设置z轴与y轴的偏移量,能给

    2024年02月01日
    浏览(53)
  • axios同一个接口,同时接收 文件 或者 数据

    1、前端代码  主要是: if (response.data instanceof Blob)  判断是否是 Blob 对象, 否则使用: response.data = JSON.parse(await (response.data).text()) 将后台返回的内容转成 文本 返回 主要是: responseType: \\\'blob\\\' 2、后端代码 需要注意的是: response.setHeader(\\\"Access-Control-Expose-Headers\\\", \\\"filename\\\"); 否则

    2024年02月12日
    浏览(58)
  • vue 实现多个路由共用同一个页面组件

    这样的弊端是如果router-view里包含其他组件,切换其他组件会让其他组件也重新渲染。 这样的问题是导致切换路由会闪烁一下。因为切换后所有钩子函数都重新触发了。

    2024年02月07日
    浏览(62)
  • 【注意】当同一个Class的多个对象出现在同一段代码内的时候,极易出错。

    下面的 paymentQuery 方法坐落于我们lijianjin系统的LiJianJinPaymentQueryBizService。 这两个bankOrderFlow、orderFlow,... 乱花渐欲迷人眼的赶脚,但其实,这是像“shǐ”一样的代码。         在我们的zhongtai-channel-provider, 上周出现并紧急fix了一个bug。竟然也是 此种情况 引发的bug。   先上

    2024年04月28日
    浏览(66)
  • 【前端领域】3D旋转超美相册(HTML+CSS)

    世界上总有一半人不理解另一半人的快乐。 ——《爱玛》 目录 一、前言 二、本期作品介绍    3D旋转相册 三、效果展示 四、详细介绍  五、编码实现 index.html style.css  img  六、获取源码 公众号获取源码  获取源码?私信?关注?点赞?收藏?         新的一年,我们

    2024年02月02日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包