我的目标是创建一个网格,当用户垂直或水平滚动时,它总是捕捉到浏览器的顶部和左侧边缘。我有基本版本,但与动画scollLeft
相比,这部分总是很生涩。scrollTop
如果有人想到更好的解决方案,我将不胜感激,它正在慢慢让我发疯!
到目前为止,这是它的骨骼http://jsfiddle.net/stuart09876/vXvBV/1/
这是脚本...
$(function(){
var windowtest = $(window);
var _top = $(windowtest).scrollTop();
var _left = $(windowtest).scrollLeft();
var individualDivHeight = 140;
var individualDivWidth = 220;
$(windowtest).scroll(function(){
var _cur_top = $(windowtest).scrollTop();
var _cur_left = $(windowtest).scrollLeft();
var totalHeight = $('#container').height();
var totalWidth = $('#container').width();
var posToScroll = Math.round(_cur_top / individualDivHeight) * individualDivHeight;
var posToScrollLeft = Math.round(_cur_left / individualDivWidth) * individualDivWidth;
$('html, body').stop().animate({scrollTop: posToScroll}, 100,
function(){
$('html, body').stop().animate({scrollLeft: posToScrollLeft}, 100);
}
);
});
});
非常感谢
斯图尔特