2

だから、私はそれらの間にスペースがあるボックスの行と列を生成するこの小さなコードを持っています。

正常に動作しているようです。ただし、ボックスの高さと幅を32ピクセルに設定し、ボックス間のスペースを8ピクセルに設定すると、ボックスがあるべき場所にギャップが表示され始めます。

私が他のほとんどの数字を使用する場合、それらは機能しますが、もちろん、私は32と8に心を決めていました。

それが私がボックスの作成をループしている方法なのか、それとも私が理解していない基礎となる数学が起こっているのかどうか疑問に思っています。

問題のコードで設定されたjsFiddleは次のとおりです。

http://jsfiddle.net/dondon/zMnuK/

JSセクションの「間隔」を7または9に変更すると、ギャップがなくなります。ギャップが現れる原因となるのは約8(または4)ですか?

どんな入力でも大歓迎です!:)

4

2 に答える 2

4

これは、同じIDを持つ複数のボックスと、それらの両方に設定されているcssと関係があり、最終的にはまったく同じ位置になります。たとえば、作成された3番目のボックスのx位置(xはループ順序に対して垂直)88px、y位置8pxです。次に、3行目のかなり後の、y = 88px、x=8pxのボックス。に到達したので'box' + x + y;、これらのボックスの両方で同じです。同じ要素を持つ要素を複数持つことはできないidため、その後は何が起こる可能性があります。

簡単な解決策は変更することです:

var boxid = "box"+x+y;

に:

var boxid = "box"+x+'_'+y;

更新されたJSFiddle

于 2012-05-09T03:06:18.150 に答える
0

boxid値を割り当てたときにエイリアシングが発生したようですが、これは8に等しい間隔でのみ発生していました。

もともとあなたは持っていました:

var boxid = "box"+x+y;

したがって、同じIDを持つ2つのボックスを持つことができます

次のように変更します。

var boxid = "box"+x+"_"+y;
于 2012-05-09T03:09:25.233 に答える