javascript - mousemove jquery 上的多重转换

标签 javascript jquery rotation transform mousemove

可能是一个简单的解决办法,但对于我的一生来说,我无法弄清楚或者可能想得太多了。简而言之,我有一个基于 mousemove 旋转的 div。我已经可以工作了,但我还需要它在 X 轴上平移。所以我知道我必须使用transform:translateX(value),但不确定如何在jquery中应用两个变换的最佳方式。谢谢您的帮助。下面的 fiddle 链接。

还有办法改变旋转Y方向吗?

var $window = $(window),
    $box = $('#box')
    rotation = 0;

$window.on('mousemove', function(event){    
    rotation = (event.pageX/$window.width()*90) - 45;
    $box.css('transform', 'perspective( 600px ) rotateY(' + rotation + 'deg)');
});
#box{
    width: 300px;
    height: 300px;
    margin: 30px auto;
    background: #aaa;
}
<div id="box"></div>

http://jsfiddle.net/6gbhfxrx/

最佳答案

只需同时应用即可:

var $window = $(window),
    $box = $('#box');

$window.on('mousemove', function(event){    
    var rotation = (event.pageX/$window.width()*90) - 45;
    var transX= (event.pageX/$window.width()*500) - 250;
    $box.css('transform', 'perspective( 600px ) rotateY(' + rotation + 'deg) translateX(' + transX + 'px)');
});

这是一个 fiddle :http://jsfiddle.net/6gbhfxrx/2/

关于javascript - mousemove jquery 上的多重转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35016681/

相关文章:

javascript - 为 Blackberry 开发网站的注意事项

javascript - $.post 函数之外的 jquery 无法使用另一个函数

javascript - 单击时显示子 Div

javascript - 通过 jquery/ajax 使用谷歌地图地理编码从纬度/经度获取城市/州?

javascript - 如何在 vuejs webpack cli 项目中包含 jquery?

javascript - 图片未在网站上呈现?

javascript - 使用 javascript 从上一页获取 URL

CSS 过渡 - rotateX 只是改变我的元素的大小

vector - 三.js 如何求物体局部Up向量的世界方向向量?

c# - EmguCV 旋转算法不起作用