2016-05-24 16 views
1

私の問題の原因は、ng-repeatを使用しているという事実だと思いますので、残りの部分はあまり詳しく説明しませんが、正確さを求めるのは自由です。繰り返し重ねられたボタンが繰り返し表示されますか?

はい、私はng-repeatを使用して、配列内にある特定の数のdivを繰り返します。

私は新しいdiv要素を作成し、配列に追加し

...

var newDiv = document.createElement('div'); 
$scope.arrayDiv.push(newDiv); 

...私も(まあ、私は実際に画像を使用)ボタンを作成し、私はdiv要素に追加します。

var newButton = document.createElement('img'); 
newButton.style="position: absolute; top: 6px; left: 16px; z-index: 9999;"; 
newButton.onclick=function() { 
    //delete the parentNode 
} 
newDiv.appendChild(newButton); 

このボタンは実際には閉じるボタンで、それを含むdivを削除するために使用されます。これまでのところ良いですが、ここに私の問題があります:

閉じるボタンは最初のdivにのみ表示され、他のものには表示されません。ただし、ボタンがdivを1つ閉じたときに正しく表示されます。それで、ボタンが重ね合わされていると思うようになりました。

私は自分自身を明確にしました。申し訳ありません。途中でng-repeatが続きます:

<div id='main_chart_div' ng-repeat="x in arrayDiv" value={{x}}></div> 
+0

あなたはplnkrを提供できますか? –

+0

'style =" position:relative "をdivに追加して、どのように動くか見てみてください。そして、あなたは(本当に本当に本当に良い理由がない限り)ビューを生成するためにDOM操作ではなく、Angularを使うためにこのコードを再考する必要があります。 –

+0

ええ、私はあなたが正しいと思う(申し訳ありません、私は角度の合計noobです) –

答えて

1

newDivに相対位置があることを確認してください。そうでない場合、newButtonの位置は、相対位置の最も近い親に相対的になります。

+0

うん、それは動作します。どうもありがとう。 –

関連する問題