Simple Interactive 3D Cube
How do I make an simple interactive 3d cube?
Greensock forums:http://forums.greensock.com/topic/8228-transition-of-3d-cube/. What is a simple interactive 3d cube? How do you make a simple interactive 3d cube? This script and codes were developed by Rodrigo Hernando on 18 November 2022, Friday.
Simple Interactive 3D Cube - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Simple Interactive 3D Cube</title> <script src="https://s.codepen.io/assets/libs/modernizr.js" type="text/javascript"></script> <link rel="stylesheet" href="css/style.css">
</head>
<body> <p> <button id="btn7">Tween Faces</button> <button id="btn8">Rotate Parent</button> <div> <button id="btn1">front face</button> <button id="btn2">right face</button> <button id="btn3">back face</button> <button id="btn4">left face</button> <button id="btn5">top face</button> <button id="btn6">bottom face</button> </div>
</p>
<div class="container"> <div id="cubeParent"> <div class="cubeFace" id="face1"></div> <div class="cubeFace" id="face2"></div> <div class="cubeFace" id="face3"></div> <div class="cubeFace" id="face4"></div> <div class="cubeFace" id="face5"></div> <div class="cubeFace" id="face6"></div> </div>
</div>
<div class="container" style="margin-left:300px; margin-top:-200px;"> <div id="cubeParent"> <div class="cubeFace1" id="face1" style="background:url('https://s.cdpn.io/33073/1-150x150.jpg')"></div> <div class="cubeFace1" id="face2" style="background:url('https://s.cdpn.io/33073/2-150x150.jpg')"></div> <div class="cubeFace1" id="face3" style="background:url('https://s.cdpn.io/33073/3-150x150.jpg')"></div> <div class="cubeFace1" id="face4" style="background:url('https://s.cdpn.io/33073/4-150x150.jpg')"></div> <div class="cubeFace1" id="face5" style="background:url('https://s.cdpn.io/33073/5-150x150.jpg')"></div> <div class="cubeFace1" id="face6" style="background:url('https://s.cdpn.io/33073/6-150x150.jpg')"></div> </div>
</div> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Simple Interactive 3D Cube - Script Codes CSS Codes
html
{ height:100%;
}
body
{ margin:0; padding:0; background : -webkit-linear-gradient(top, rgb(0, 0, 0) 00%, rgb(200, 200, 200) 100%); background : -moz-linear-gradient(top, rgb(0, 0, 0) 00%, rgb(200, 200, 200) 100%); background : -o-linear-gradient(top, rgb(0, 0, 0) 00%, rgb(200, 200, 200) 100%); background : -ms-linear-gradient(top, rgb(0, 0, 0) 00%, rgb(200, 200, 200) 100%); background : -linear-gradient(top, rgb(0, 0, 0) 00%, rgb(200, 200, 200) 100%); background-repeat: no-repeat; background-attachment: fixed;
}
.container { border: 1px solid black; margin:50px; background:#ccc; width:150px;
}
#cubeParent{ height:150px; width:150px; position:relative;
}
.cubeFace, .cubeFace1{ height:150px; width:150px; position:absolute;
}
#face1{ background:#00F;
}
#face2{ background:#f0f;
}
#face3{ background:#063;
}
#face4{ background:#c00;
}
#face5{ background:#f60;
}
#face6{ background:#ff0;
}
.carItem{ position:absolute; width:85px; height:113px;
}
#rotPlane{ width:200px; height:200px; background:#00f; position:relative; color:#FFF;
}
button
{ padding:5px 10px; margin:10px; border-radius:5px; background : -webkit-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(200, 200, 200) 100%); background : -moz-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(200, 200, 200) 100%); background : -o-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(200, 200, 200) 100%); background : -ms-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(200, 200, 200) 100%); background : -linear-gradient(top, rgb(255, 255, 255) 0%, rgb(200, 200, 200) 100%); border:1px solid #646464;
}
button:hover
{ background : -webkit-linear-gradient(top, rgb(200, 200, 200) 0%, rgb(255, 255, 255) 100%); background : -moz-linear-gradient(top, rgb(200, 200, 200) 0%, rgb(255, 255, 255) 100%); background : -o-linear-gradient(top, rgb(200, 200, 200) 0%, rgb(255, 255, 255) 100%); background : -ms-linear-gradient(top, rgb(200, 200, 200) 0%, rgb(255, 255, 255) 100%); background : -linear-gradient(top, rgb(200, 200, 200) 0%, rgb(255, 255, 255) 100%);
}
button:active
{ position:relative; top:1px;
}
Simple Interactive 3D Cube - Script Codes JS Codes
var tl3 = new TimelineMax({paused:true}), tl4 = new TimelineMax({paused:true}), face1 =$("div#face1"), face2 =$("div#face2"), face3 =$("div#face3"), face4 =$("div#face4"), face5 =$("div#face5"), face6 =$("div#face6"), cubeParent = $("div#cubeParent"), btn1 = $("button#btn1"), btn2 = $("button#btn2"), btn3 = $("button#btn3"), btn4 = $("button#btn4"), btn5 = $("button#btn5"), btn6 = $("button#btn6"), btn7 = $("button#btn7"), btn8 = $("button#btn8");
TweenMax.set($("div.container"), {perspective:500});
TweenLite.set(cubeParent, {transformStyle:"preserve-3d"});
tl3 .to(cubeParent, .5, {z:'-=75'}) .to($("div.cubeFace"), .5, {autoAlpha:0.5}) .to(face1, .5, {rotationY:90, x:-75}) .to(face2, .5, {rotationX:90, y:-75}, '1') .to(face3, .5, {rotationX:90, y:75}, '1') .to(face4, .5, {rotationY:90, x:75}, '1') .to(face5, .5, {z:75}, '1') .to(face6, .5, {z:-75}, '1');
tl4 .to(cubeParent, 5, {rotationY:720}) .to(cubeParent, 2, {rotationX:360}, "-=2.5") .to(cubeParent, 1, {rotationY:-360, rotationX:0});
btn7.click(function()
{ tl3.play(0); console.log(cubeParent[0]._gsTransform);
});
btn8.click(function()
{ tl4.play(0);
});
btn1.click(function()//front face
{ if(cubeParent[0]._gsTransform.rotationX != 0) { TweenMax.to(cubeParent, 1, {rotationX:'0_short'}); TweenMax.to(cubeParent, 1, {rotationY:'0_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); } else { TweenMax.to(cubeParent, 1, {rotationY:'0_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); }
});
btn2.click(function()//right face
{ if(cubeParent[0]._gsTransform.rotationX != 0) { TweenMax.to(cubeParent, 1, {rotationX:'0_short'}); TweenMax.to(cubeParent, 1, {rotationY:'90_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); } else { TweenMax.to(cubeParent, 1, {rotationY:'90_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); }
});
btn3.click(function()//back face
{ if(cubeParent[0]._gsTransform.rotationX != 0) { TweenMax.to(cubeParent, 1, {rotationX:'0_short'}); TweenMax.to(cubeParent, 1, {rotationY:'180_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); } else { TweenMax.to(cubeParent, 1, {rotationY:'180_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); }
});
btn4.click(function()//left face
{ if(cubeParent[0]._gsTransform.rotationX != 0) { TweenMax.to(cubeParent, 1, {rotationX:'0_short'}); TweenMax.to(cubeParent, 1, {rotationY:'270_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); } else { TweenMax.to(cubeParent, 1, {rotationY:'270_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); }
});
btn5.click(function()//top face
{ if(cubeParent[0]._gsTransform.rotationY != 0) { TweenMax.to(cubeParent, 1, {rotationY:'0_short'}); TweenMax.to(cubeParent, 1, {rotationX:'-90_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); } else { TweenMax.to(cubeParent, 1, {rotationX:'-90_short'}); TweenMax.to(cubeParent, 1, {rotation:'0_short'}); }
});
btn6.click(function()//bottom face
{ if(cubeParent[0]._gsTransform.rotationY != 0) { TweenMax.to(cubeParent, 1, {rotationY:'0_short'}); TweenMax.to(cubeParent, 1, {rotationX:'90_short'}); TweenMax.to(cubeParent, 1, {rotation:'180_short'}); } else { TweenMax.to(cubeParent, 1, {rotationX:'90_short'}); TweenMax.to(cubeParent, 1, {rotation:'180_short'}); }
});
Developer | Rodrigo Hernando |
Username | rhernando |
Uploaded | November 18, 2022 |
Rating | 3.5 |
Size | 2,985 Kb |
Views | 28,336 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Update tween progress with Draggable | 2,695 Kb |
Bezier Animation with straight paths | 2,087 Kb |
Auto scroll to element offset 2 | 2,620 Kb |
GSAP Scramble Text Plugin | 2,521 Kb |
Spinning Images | 2,279 Kb |
Circular Progress Bar | 4,985 Kb |
Draggable add element | 2,378 Kb |
Simple scroll controlled animation | 2,229 Kb |
Auto scroll to element offset | 2,549 Kb |
Cross-Browser Flip Card | 2,396 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Hover Animation from UNIQLO | Insprd | 3,772 Kb |
See Through | Larrygeams | 77,410 Kb |
CSS eye follow | Pedrocampos | 2,592 Kb |
Gulpfile | Aimhigherwebdesign-amy | 1,765 Kb |
P1 | Vivi_Lai | 1,533 Kb |
Day 11 - Calendar Card | Arnellebalane | 6,984 Kb |
A Bouncy Menu Toggle | Billyysea | 4,563 Kb |
Speech bubbles | Something | 1,547 Kb |
NAV WPMANAGER | Mstoic | 1,991 Kb |
Kudos Please | TimPietrusky | 6,624 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!