0

みんな、このリンクを見てください 。サイトを確認すると、左側のフレームにアイテムを追加した後、フレームの右側にドラッグすると、他のカスタマイズ可能な領域に表示されないことがわかります。私はラファエルで同じことを達成することができず、 toBack() および toFront() メソッドを試しましたが、使用できませんでした。誰でも私を助けることができますか?助けてくれてありがとう

4

1 に答える 1

0

だからあなたが言っているように見えるのは:

  • フレームとして機能する 2 つの領域が隣り合っています。
  • シェイプをこれらのフレームにドラッグして、フレームの後ろに置くことができます
  • オブジェクトを中央に向かってドラッグすると、両方のフレームの後ろに表示されます。両方とも同じ紙オブジェクトの一部であるため、両方に表示されます。
  • 2 つのフレームを互いに独立させたいので、一方の画像が「オーバースピル」して他方に表示されることはありません。

では、各フレームを独自の独立したペーパー オブジェクトで作成してみませんか? それぞれを独立したエリアにしたいなら、独立したエリアにしてみませんか?

Raphael で紙として定義された領域は、幅と高さによって定義された境界で切り取られ、境界の外側にあるものはすべて隠されます。このクリッピングはまさにあなたが望むもののようです。

それをどのようにリファクタリングするかはあなた次第です。非常に簡単な方法の 1 つは、次のようなものです。

function makeLens( id, width, height ){
   var paper = Raphael(id, width, height);
   var buttons = // find or place the buttons for this lens based on the id

   // the rest of your code

}
makeLens( 'left-lens', 500, 500 );
makeLens( 'right-lens', 500, 500 );

... のような HTML / CSS を使用:

<style>
   .lens { width: 500px; height: 500px; float: left; }
</style>
<div id="left-lens" class="lens"> </div>
<div id="right-lens" class="lens"> </div>
于 2013-04-29T23:39:13.040 に答える