|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<nav> <ul> <li> <a href="#">Меню 1</a></li> <li> <a href="#">Меню 2</a></li> <li> <a href="#">Меню 3</a></li> <li> <a href="#">Меню 4</a></li> <li> <a href="#">Меню 5</a></li> <li> <a href="#">Меню 6</a></li> </ul> </nav> <div class="content"> <div class="cube" data-rotate="0"> <div class="back side"></div> <div class="left side"></div> <div class="right side"></div> <div class="top side"></div> <div class="bottom side"></div> <div class="front side"></div> </div> </div> |
|
1 2 3 4 5 6 7 8 9 10 11 |
$(function() { $('nav li').on("click", function() { var $cube = $('.cube'); var transform = $cube.data('rotate') + 140; console.log(transform); $(this).toggleClass('active'); if (this.class !== 'active') { var $cube2 = $cube.css('transform', 'rotateY(' + transform + 'deg)').data('rotate', transform); } }); }); |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
body { perspective: 2000px; perspective-origin: center -300px; } .side, .cube { width: 100px; height: 100px; } .cube { position: absolute; bottom: -50%; right: 50%; transform-style: preserve-3d; transform: rotateY(50deg); transition: all 0.5s linear; } .side { position: absolute; width: 100px; height: 100px; } .back { transform: translateZ(50px); background: #F00; } .left { transform: translateX(-50px) rotateY(270deg); background: green; } .right { transform: translateZ(-50px) rotateZ(-180deg) rotateX(-180deg); background: blue; } .top { transform: translateY(-50px) rotateX(90deg) rotateZ(90deg); background: #ccc; } .bottom { transform: translateY(50px) rotateX(90deg); background: #ccc; } .front { transform: translateX(50px) rotateY(90deg); background: #ccc; } @-webkit-keyframes rotate { 0% { transform: rotateY(0deg); } 25% { transform: rotateY(90deg); } 50% { transform: rotateY(180deg); } 75% { transform: rotateY(270deg); } 100% { transform: rotateY(360deg); } } |