我在这个方程中遇到了一些麻烦。如何改进这个JS Parallax类型的数学方程?
本质上,当光标在边缘200px内时,我想让画板(网格)div将自己定位到浏览器的边缘。
这可以很容易地通过观察鼠标坐标设置位置来完成,但我希望它是流畅的。 I.E.如果鼠标距离左边缘为199px,那么lVal应缓慢递减,直到画板对象边缘与镀铬边缘内嵌。
目前,我有这个工作的左边缘,但我无法弄清楚如何做到这一点,而不会造成轻微的流行。
请查看下面的示例。
http://dev.nimmbl.com/sampler/#
winSize[] = document window size (y,x)
2940 = width of artboard object
function moveArtboard(e){
var t = docbody.offset(), space = 400, lVal, tVal;
lVal = Math.round((space/2) + (e.pageX - t.left) * (winSize[1] - (2940 + space))/winSize[1]);
tVal = Math.round((space/2) + (e.pageY - t.top) * (winSize[0] - (1200 + space))/winSize[0]);
if(lVal >= 0){
artboard.obj.css({
"left": 0,
"top": tVal
});
} else if(lVal + -winSize[1] <= -2940){
artboard.obj.css({
"left": "auto",
"right": 0,
"top": tVal
});
} else {
artboard.obj.css({
"left": lVal,
"top": tVal
});
}
}
我觉得它是这样的。有一个看不见的框架,坐落在窗口内,胜率为80%。框架应居中,框架和边缘之间的距离是应该用作乘数的值。我的目标是显示左侧或最右侧的框,而不需要用户一直滚动到浏览器镶边的边缘。 – chris 2011-04-07 18:03:28