练习做智能社的一个3D图片环效果时,发现怎么鼠标移动方向和图片环的旋转方向不统一,原来是旋转方向一直没弄清楚。
document.onmousedown = function(ev){
var e = ev || window.event;
var mouseStartX = e.clientX;
var mouseStartY = e.clientY;
var startX = x;
var startY = y;
//记录下鼠标按下时的坐标
var lastX = mouseStartX;
var lastY = mouseStartY;
speedX = speedY = 0;
document.onmousemove = function(ev){
var e = ev||event;
//x,y是沿着x,y轴转动时的角度(deg)
//为什么y方向加的是x的变化量???
//鼠标水平向右拖动,效果应该是div沿着y轴正向转动,
//所以x方向的坐标增量要加在y上。
//同理,鼠标向下拖动效果应该是沿着x轴反向转动,
//所以是x减去y方向增量
y = startY + (e.clientX - mouseStartX)/10;
x = startX - (e.clientY - mouseStartY)/10;
speedX = (e.clientX - lastX)/5;
speedY = (e.clientY - lastY)/5;
fixAll();
//记录下这次的,备下次使用
lastX = e.clientX;
lastY = e.clientY;
}
document.onmouseup = function(){
document.onmousemove = null;
//这里如果把onmousedown的事件清除了,以后怎么样也没效果!!!
//document.onmousedown = null;
document.onmouseup = null;
startMove();
}
//这里要清除定时器
stopMove();
//阻止默认
return false;
}
好了,先记下这个吧。吃水不忘挖井人,大家多去智能社看看吧。