2017-11-29 7 views
5

私はスクロールでズームを有効にしようとしています。私は1つの#mainDivと複数の.fooテーブルをjsPlumbエンドポイント内に持っています。ユーザーがスクロールすると、#mainDivは同じサイズのままで、表はサイズ変更する必要がありますが、実際には発生しますが、表の端点はサイズと場所を変更しません。このjsFiddleを見てみましょう:jsPlumbの図を拡大するには

https://jsfiddle.net/vaxobasilidze/cg3hkde7/9/

フィドルはかなり大きいですが、我々は最初のjavascript機能を必要とします。いくつかの項目を右側にドラッグし、新しいリンクを追加してスクロールします。テーブルのサイズは変わりますが、エンドポイントは変わりません。この問題をエンドポイントでどのように修正できますか?

エンドポイントはこれらのテーブルの一部ではありませんが、オブジェクトのsetZoom()関数を持つjsPlumbライブラリの一部です。この関数は機能しません。理由を知りたいのですが。コネクタもその場所を変更する必要があります。

また、アプリはタッチデバイスでも動作している必要があります。 setZoomはタッチデバイスのピンチズームで動作しますか?これをどのように実装できますか?

+0

レンダリングされたHTMLを見ると、ズームがコンテンツテーブルに適用されており、エンドポイントはこのテーブルの外にあるIMG要素です。 – Seano666

+0

@ Seano666確かに。エンドポイントはこれらのテーブルの一部ではありませんが、オブジェクトのsetZoom()関数を持つjsPlumbライブラリの一部です。この関数は機能しません。理由を知りたいのですが。それは私の質問です –

答えて

3

更新:

そこで問題に基づいて、私たちは、親コンテナ内の要素の位置に応じて左または右からのスケーリングを開始するのいずれかにCSS以下使用することができます。解決のためにJSFiddleをチェックアウトしてください

#mainDiv { 
    display: inline-block; 
    width: 82%; 
    min-height: 100%; 
    box-sizing: border-box; 
    float: left; 
    position:relative; 
    margin: 0; 
    padding: 3px; 
} 

以下のように

CSSの変更は、親コンテナで必要とされます!

JSFiddle Demo

旧回答:

私たちは途中からズームので、テーブルは常にコンテナの境界を越えて、中央で起こっズームが問題であると仮定しています。以下のCSSクラスを追加して、エンドポイントを保存することをお勧めします。

.elementTable{ 
    transform-origin: 0% 0%; 
} 

下記のJSFiddleの実装方法をご覧ください。

JSFiddle Demo

私の仮定が間違っている可能性があり、そのが不足しているかを説明し、私はそれを解決しようとするでしょうしてください!

+0

ありがとうございました。テーブルのスケールが変更されたときにエンドポイントを自動的に拡大する(手動で実装できる)が、エンドポイントの位置を変更する必要があり、常にテーブルの境界にとどまるべきである。 –

+0

@VaxoBasilidze変更を加えましたので、今すぐチェックしてください! –

+0

エンドポイントは依然として同じままです... –

関連する問題