问问题
965 次
2 回答
2
您忘记了您需要两个不同的转动轴。请参阅 JsFiddle 更新:http: //jsfiddle.net/yZd3v/1/
degX = 0;
degY = 0;
$(document).keydown(function(key){
if (key.keyCode == 37) {
// left 37
degY -= 10;
} else if (key.keyCode == 39) {
// right 39
degY += 10;
} else if (key.keyCode == 38) {
// up 38
degX += 10;
} else if (key.keyCode == 40) {
// down 40
degX -= 10;
}
$('#cube').css('-webkit-transform','translateZ(-100px) rotateX('+degX+'deg) rotateY(' + degY+'deg)');
return false;
});
请注意,您的度数有两个变量,并且您每次都在旋转。
于 2013-04-20T18:45:35.827 回答
0
你可以使用 $('#cube').css({"transform": "rotateY("+deg+"deg)"}); 在几种情况下。我已经测试过了。。
并寻求帮助http://css3.bradshawenterprises.com/transforms/
请看看这个。并获得一些帮助..
<div id="transDemo4" class="shadow hover">
<div id="rotateX">rotateX</div>
<div id="rotateY">rotateY</div>
<div id="rotateZ">rotateZ</div>
<p class="center">Hover me</p>
<div class="clear"></div>
</div>
#transDemo4 {
border: 1px solid #AAAAAA;
height: 190px;
margin: 0 auto 10px;
padding: 10px;
width: 400px;
}
.shadow {
box-shadow: 5px 5px 5px #AAAAAA;
}
#transDemo4 div:not(.clear) {
border: 1px solid blue;
float: left;
height: 130px;
margin: 10px 20px;
padding: 10px;
perspective: 800px;
perspective-origin: 50% 100px;
transition: all 2s ease-in-out 0s;
width: 70px;
}
.clear {
clear: both;
}
#transDemo4 div {
transition:all 2s ease-in-out;
perspective: 800px;
perspective-origin: 50% 100px;
}
#transDemo4:hover #rotateX {
transform:rotateX(180deg);
}
#transDemo4:hover #rotateY {
transform:rotateY(180deg);
}
#transDemo4:hover #rotateZ {
transform:rotateZ(180deg);
}
于 2013-04-20T18:28:27.997 回答