-3

特定の列のスクロール方向を反対方向に変更するのが好きです。Googleで検索してみましたが、解決策が見つかりません。例を挙げると、これを取ります...

jFiddle : http://jsfiddle.net/yLHeC/1/

3つの列があり、

左、中央、右。各列の高さは 5000px です。中央の列には 4500px の負のマージンがあります。ユーザーがスクロールすると、左右は通常どおりになりますが、中央は下から上にスクロールする必要があります。あなたがそれを手に入れたことを願っています。

サイト例:http ://www.ballantyne.it/

.left{
height:5000px;
}

.center{
height:5000px;
margin-top:-4500px;
}

.right{
height:5000px;
}
4

2 に答える 2

1

私の例では、スクロール位置は隣接する列の高さにロックされているため、移動量は比率の計算であり、したがって正確です。

http://jsfiddle.net/kuxi/xNSTb/

$('.right').scrollTop(
    ($('.right .content').height() - $(window).height())
    *
    ( 1 - $(window).scrollTop() / ($('.left .content').height() - $(window).height()))
);
于 2013-03-19T21:54:47.143 に答える
1

中央の列にコンテナを追加し、オーバーフローを非表示に設定し、高さをウィンドウの高さに設定してから、$(window).scroll()イベントを使用$(document).height() - $(window).scrollTop()して中央の列に追加する必要があります-これはうまくいくはずです

編集:ここにコードhttp://jsfiddle.net/yLHeC/30/と説明があります:

$(document).ready(function(){
    var CONSTANT_OFFSET = -200; // starting position
    $(window).scroll(function(){
       $('.center').css('margin-top', CONSTANT_OFFSET + $(this).scrollTop()*2 + 'px'); 
    }).scroll();
});
于 2013-02-08T14:05:33.710 に答える