JavaScript案例——网页特效之旋转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cl_Daisy/article/details/78230029

ps:这个旋转不能再IE浏览器中正常打开,因为IE浏览器不兼容CSS3

这里使用的重点属性是transform和rotate方法

定义:
transform属性是向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
rotate() 方法旋转画布的坐标系统。
语法
rotate(angle)
注:angle 旋转的量,用弧度表示。正值表示顺时针方向旋转,负值表示逆时针方向旋转
文中用的deg和angle一样
-

关于rotate说明

rotate() 方法通过指定一个角度,改变了画布坐标和 Web 浏览器中的 元素的像素之间的映射,使得任意后续绘图在画布中都显示为旋转的。它并没有旋转 元素本身。注意,这个角度是用弧度指定的。
如果要把角度转换为弧度,请乘以 Math.PI 并除以 180。



<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            #body{
                position: absolute;
                width: 300px;
                height: 300px;
                top: 200px;
                left: 200px;
            }
            #a{
                position: absolute;
                border: 1px solid #goldenrod;
                top: 140px;
                width: 300px;
                height: 20px;
                background-color: goldenrod;
                transform: rotate(0deg);
            }
            #b{
                position: absolute;
                border: 1px solid #goldenrod;
                left: 140px;
                width: 20px;
                height: 300px;
                background-color: goldenrod;
                transform: rotate(0deg);
            }
        </style>
        <script>
            var i = 0;
            var xz_id;
            var sd = 10;
            var ids = new Array();
            window.onload = function(){
                xz = document.getElementById("xz");
                a = document.getElementById("body");
                mess = document.getElementById("mess");
                xz.onclick = function(){
                    id = setInterval("xuanzhuan()",10);
                    ids.push(id);
                    mess.innerHTML = ids.length;
                }

                document.getElementById("tz").onclick = function(){
                    clearInterval(ids[ids.length-1]);
                    ids.pop();
                    mess.innerHTML = ids.length;

                }

            }

            function xuanzhuan(){
                if(i>360){
                    i=0;
                }else{
                    i++;
                }
                var s = "rotate("+i+"deg)";

                a.style.transform = s;

            }
        </script>
    </head>
    <body>
        <button id="xz">加速</button>
        <button id="tz">减速</button><br />
        <span id="mess"></span>
        <div id="body">
            <div id="a"></div>
            <div id="b"></div>
        </div>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    </body>
</html>

加速、减速

猜你喜欢

转载自blog.csdn.net/Cl_Daisy/article/details/78230029