1

jQuery ドラッグ可能を使用して 2 つの div 間の同期スクロールを作成しようとしましたが、適切に動作させるための正しい「方程式」を見つけるのに苦労しています。

基本的に、私には左右の 2 つの側面があります。左側には、ユーザーが上下にドラッグできる「拡大鏡」(私の例では紫と黒のボックス)だけでなく、情報(小さいスケール...私の例ではオレンジ色の長方形)が保持されますjQuery ドラッグ可能を使用して情報。右側には同じ情報のコピーが保持されますが、はるかに大きなスケールでのみ保持されます (私の例では背の高いピンク色のボックス)。

左側の情報に「拡大鏡」をドラッグすると、右側の大きい方の情報が「拡大鏡」と同期して上下にスクロールするようにしようとしています。私の問題は、大規模なdivの位置(メインラッパーに関して)を「拡大鏡」の中心の位置と一致させることです(小規模な情報を保持する小さなdivに関して)。これは、いずれかの div のサイズに関係なく、常に正しい関係であるため、動的に機能する必要があります。

また、メイン ラッパーの中心を大規模情報の「上部」または焦点として機能させたいと考えています...したがって、拡大鏡が小規模情報の上部にある場合、大規模情報の上部はメインラッパーの垂直方向の中央に揃えます。ご不明な点がございましたら、お気軽にお問い合わせください。ありがとう!

実際の例へのリンクは次のとおりです: http://people.rit.edu/bjc7188/

そして、これが私が取り組んできたスクリプトの一部です。

$(document).ready(function() {


        $("#dragMe").draggable({ 

            axis: "y",
            drag: function(event, ui)
            { 
                var $target = ($("#toZoom").height()/2) - ((($("#dragMe").position().top + $("#dragMe").height()/2)*($("#scroller").height()/$("#toZoom").height()))); 

                $("#scroller").css({ top: ($target + $("#dragMe").height()/2) + "px" });
            }, 
        });

    });

ちょっとずさんですが、まさに私がやろうとしていることにはうまくいきます。ただし、左のオレンジ色の div のサイズを変更すると機能しません。ピンクまたはオレンジの div のサイズに関係なく、動的に機能する方程式が必要です。

4

1 に答える 1