1

ブートストラップ カルーセル内にjointjsダイアグラムを埋め込もうとしていて、問題が発生しています。ダイアグラムが最初の/アクティブなペインにある場合はすべて正常に機能しますが、それが他のペインの場合、要素とリンクは奇妙な方法でスケーリングされ、リンクは要素の間違った側に接続されます。これを、display:none に設定された div にレンダリングされる svg のプロパティに絞り込みました。jointjs チュートリアル コードといくつかの簡単な css を使用して問題を再現する JSFiddle を以下に示します。

http://jsfiddle.net/L2wev6xc/4/

HTML

<button id="showsvg" type="button">Show Diagram</button>
<div id="myholder" class="hidden"></div>

CSS

#myholder {
  width:600px;
  height:300px;
  border: 1px solid black;
}
.hidden {
  /* comment out the line below and run again to see the different scaling and links */
  display: none;
}

JS

// cut paste entire jointjs tutorial here

$("#showsvg").click(function () {
  $("#myholder").removeClass("hidden");
});

これは、可視性プロパティを使用すると発生せず、表示のみです。また、上記の jsfiddle のダイアグラムでは、スケーリングがわずかにずれていますが、はるかに大きく複雑なダイアグラムでは、状況が劇的に悪化します。

4

1 に答える 1