首页前端开发JavaScriptjavascript怎么实现魔方效果

javascript怎么实现魔方效果

时间2024-01-30 19:47:03发布访客分类JavaScript浏览274
导读:收集整理的这篇文章主要介绍了javascript怎么实现魔方效果,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript实现魔方效果的方法:1、创建一个HTML文件;2、创建需要的div块;3、通过css和js代码“for(V...
收集整理的这篇文章主要介绍了javascript怎么实现魔方效果,觉得挺不错的,现在分享给大家,也给大家做个参考。

javascript实现魔方效果的方法:1、创建一个HTML文件;2、创建需要的div块;3、通过css和js代码“for(VAR n = 0; n arr.length; n++){ ...} ”实现魔方效果即可。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

javascript怎么实现魔方效果?

实现效果:

魔方动态转换,同时每个面里的每个块都能进行动态变换。

实现代码:

!DOCTYPE html>
    html>
    head>
        meta charset="UTF-8">
        tITle>
    魔方/title>
        style type="text/css">
        *{
                margin: 0;
                padding: 0;
        }
        body{
                width: 100%;
                height: 100%;
                background: radial-gradient(#fff,pink);
        }
        .container{
                width: 300px;
                height: 300px;
        /*        border:1px solid #000;
    */            margin:150px auto;
                perspective: 20000px;
        }
        .box{
                width: 300px;
                height: 300px;
                border:1px solid transparent;
                box-sizing: border-box;
                position:relative;
                transform-style: PReserve-3d;
                /*transform: rotateX(45deg) rotateY(45deg);
    */            animation: rotate 10s linear infinite;
        }
        /*@keyframes ro{
            0%{
                    transform:rotateX(0deg) rotateY(0deg);
            }
            100%{
                    transform: rotateX(360deg) rotateY(360deg);
                            }
        }
*/        @keyframes rotate{
            100%{
                    transform:rotatex(360deg) rotatey(360deg) rotatez(360deg);
            }
        }
        .box-page{
                width: 300px;
                height: 300px;
                position: absolute;
                box-sizing: border-box;
                transform-style: preserve-3d;
        }
        .top{
                /*background-color: red;
    */            transform: translateZ(150px);
        }
        .bottom{
                /*background-color: pink;
    */            transform: translateZ(-150px) rotateX(180deg);
        }
        .left{
                /*background-color: orange;
    */            transform: translatex(-150px) rotateY(-90deg);
        }
        .right{
                /*background-color: green;
    */            transform: translateX(150px) rotateY(90deg);
        }
        .before{
                /*background-color: purple;
    */            transform: translateY(150px) rotateX(-90deg);
        }
        .after{
                /*background-color: blue;
    */            transform: translateY(-150px) rotateX(90deg);
        }
/*        .box-page div:nth-child(1){
                animation: a1 4.5s ease-in 0.5s;
         }
        .box-page div:nth-child(2){
                animation: a1 4.5s ease-in 1s;
         }
        .box-page div:nth-child(3){
                animation: a1 4.5s ease-in 1.5s;
         }
        .box-page div:nth-child(4){
                animation: a1 4.5s ease-in 2s;
         }
        .box-page div:nth-child(5){
                animation: a1 4.5s ease-in 2.5s;
         }
        .box-page div:nth-child(6){
                animation: a1 4.5s ease-in 3s;
         }
        .box-page div:nth-child(7){
                animation: a1 4.5s ease-in 3.5s;
         }
        .box-page div:nth-child(8){
                animation: a1 4.5s ease-in 4s;
         }
        .box-page div:nth-child(9){
                animation: a1 4.5s ease-in 4.5s;
         }
        @keyframes a1{
            0%{
                    transform: translateZ(0px) scale(0) rotateZ(0deg);
            }
            20%{
                    transform: translateZ(300px) scale(0) rotateZ(720deg);
            }
            90%{
                    transform: translateZ(300px) scale(0) rotateZ(720deg);
            }
            100%{
                    transform: translateZ(0px) scale(0) rotateZ(0deg);
            }
        }
*/        .box-page div:First-child,.box-page div:nth-child(3),.box-page div:nth-child(5),.box-page div:nth-child(7),.box-page div:nth-child(9){
                transform: rotateY(0deg);
                animation: rotatey 6s linear infinite;
        }
        @keyframes rotatey{
            20%{
                    transform: rotateY(0deg);
                    background-size: 300px 300px;
            }
            40%{
                    transform: rotateY(540deg);
                    background-Size: 100px 100px;
            }
            60%{
                    transform: rotateY(540deg);
                    background-size: 100px 100px;
            }
            80%{
                    transform: rotateY(0deg);
                    background-size:300px 300px;
            }
        }
            .box-page div:nth-child(2),.box-page div:nth-child(4),.box-page div:nth-child(6),.box-page div:nth-child(8)            {
                transform: rotateX(0deg);
                animation: rotatex 6s linear infinite;
           }
        @keyframes rotatex{
            20%{
                    transform: rotateX(0deg);
                    background-size: 300px 300px;
            }
            40%{
                    transform: rotateX(540deg);
                    background-size: 100px 100px;
            }
            60%{
                    transform: rotateX(540deg);
                    background-size: 100px 100px;
            }
            80%{
                    transform: rotateX(0deg);
                    background-size: 300px 300px;
            }
        }
        /style>
    /head>
    body>
        div class="container">
            div class="box">
                div class="top box-page">
    /div>
                div class="bottom box-page">
    /div>
                div class="left box-page">
    /div>
                div class="right box-page">
    /div>
                div class="before box-page">
    /div>
                div class="after box-page">
    /div>
            /div>
        /div>
        script type="text/javascript">
             var arr=document.querySelectorAll(".box>
    div");
             for(var n = 0;
     n  arr.length;
 n++){
                 //行遍历             for(var i=0;
     i3;
 i++){
                     //列遍历               for(var j=0;
     j3;
 j++){
                        var divs=document.createElement("div");
                        divs.style.cssText="width:100px;
     height:100px;
     border:2px solid #fff;
     box-sizing:border-box;
    position:absolute;
     background-image:url(imgs/a"+n+".jpg);
     background-size:300px 300px;
    "    ;
                        arr[n].appendChild(divs);
                        divs.style.left=j*100+"px";
                        divs.style.top=i*100+"px";
                        divs.style.backgroundPositionX=-j*100+"px";
                        divs.style.backgroundPositionY=-i*100+"px";
               }
            }
         }
        /script>
    /body>
    /html>
    

推荐学习:《javascript基础教程》

以上就是javascript怎么实现魔方效果的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 聊聊Node.js中的事件驱动程序和E...下一篇:javaScript怎么实现复制粘贴功能猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: javascript怎么实现魔方效果
本文地址: https://pptw.com/jishu/592959.html
C#使用Free Spire.Presentation实现对PPT插入与编辑以及删除表格 javaScript怎么实现复制粘贴功能

游客 回复需填写必要信息