0

これは言葉で説明するのは非常に複雑ですが、別の要素につながる 1 つの要素 (画像の番号 1) を持つシステムを作成しようとしています。場合によっては、要素 2 のように、2 つの方向に派生することがあります。これらの要素をアクティブ化できるようにしたいのですが、それにリンクされている要素がアクティブ化されている場合に限ります。

ビードの例

例:

要素 2 の右側の要素をアクティブ化できるようになりましたが、要素 2 がアクティブでない場合は、最初に要素 1 をアクティブ化する必要があります。

data-attributes を使って数値を与え、それより前の数値がアクティブだったかどうかを確認することを考えましたが、問題は、2 つ、3 つ、またはそれ以上に分割される場合があることです。これを達成する方法はありますか?この状態を検出する方法を思い付くことができません。事前に感謝します!

追加情報:

基本的な考え方は、その要素をアクティブにする前に、アクティブな接触要素 (濃い青) が必要であるということです。下の画像では、要素 A に到達する 2 つの異なる方法を確認できます。また、濃い青色の線を見ると、アクティブ化できる他の要素を確認できます。

ここに画像の説明を入力

4

1 に答える 1

2

ページの読み込み時にグラフを作成し、ページの存続期間を通じてこのグラフを使用して、アクティブ化されたものなどを追跡することをお勧めします。

グラフの基本ノードは次のようになります。

var node = {
   adjacent : [], // list of adjacent nodes (depending on your use case, you might not need this
   previous : prevNode, // previous node (for node2, it is node1)
   isActive : false,
   activate : function(){ 
       // code that checks previous and activates the current node
       // if previous is not active, it can call previous.activate()
       // which will then activate prevNode and its dependencies
   }
}
于 2012-11-12T06:17:45.897 に答える