ユーザーが垂直方向または水平方向にスクロールすると、常にブラウザーの上端と左端にスナップするグリッドを作成することを目指しています。私は基本的なバージョンを動かしていますが、アニメーション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);
}
);
});
});
どうもありがとう
スチュアート