function loop(){
var XValue = $('#xval').val();
var YValue = $('#yval').val();
var ZValue = $('#zval').val();
$('#cube').css({
transform: 'rotateX('+XValue+'deg)',
transform: 'rotateY('+YValue+'deg)',
transform: 'rotateZ('+ZValue+'deg)',
});
setTimeout(loop,1);
}
loop();
我在css中制作了一个3D模型但我在使用jquery旋转它时遇到了问题。它只监听带有transform的最后一个命令。有什么建议吗?
答案 0 :(得分:2)
您无法在对象中拥有重复的键。充其量,您只是要覆盖之前的值,而不是添加它。将你的旋转加入一个字符串。
$('#cube').css({
transform: 'rotateX('+XValue+'deg) rotateY('+YValue+'deg) rotateZ('+ZValue+'deg)'
});
答案 1 :(得分:2)
transform
style允许同时提供多个转换(请注意以下示例/* Multiple function values */
)。
你也可以在JavaScript中使用它:
$('#cube').css({
transform: 'rotateX('+XValue+'deg) rotateY('+YValue+'deg) rotateZ('+ZValue+'deg)'
});
按原样,传递给.css()
的对象只能保留您尝试提供的3个transform
个密钥中的一个,其结果类似于:
var transform;
transform = 'rotateX('+XValue+'deg)';
transform = 'rotateY('+YValue+'deg)'; // rotateX is discarded
transform = 'rotateZ('+ZValue+'deg)'; // rotateY is discarded
$('#cube').css({
transform: transform
});