2010-03-04 7 views
1

J'utilise ce code pour déterminer la largeur et la hauteur des cases à cocher:div Peupler cases à cocher

var chk = $('input[type="checkbox"]:first'); 

chkWidth = chk.innerWidth() 
    + parseInt(chk.css('margin-left').replace('px', '')) 
    + parseInt(chk.css('margin-right').replace('px', '')); /*IS there better way instead of px replace?? */ 

chkHeight = chk.innerHeight() 
    + parseInt(chk.css('margin-top').replace('px', '')) 
    + parseInt(chk.css('margin-bottom').replace('px', '')); 

fieldWidth = gamefield.innerWidth(); 
fieldHeight = gamefield.innerHeight(); 

Puis-je essayer de remplir div avec le nombre de cases à cocher qui correspond exactement à donnés div. En fait, je reçois beaucoup de cases à cocher de div.

Y at-il de toute façon de résoudre ce problème? Je vous remercie!

+0

quel est le code qui remplit div? – TheVillageIdiot

+0

http://dl.dropbox.com/u/3473965/jq/tetris.js – Overdose

+0

Dumb question non liée, comment les cases à cocher se rapportent à Tetris? Merci. – smaclell

Répondre

1

en laissant d'autres choses en tant que telle, ce qui fait la différence (sur FF3.5):

var cols=Math.floor(fieldWidth/chkWidth); 
var rows=Math.floor(fieldHeight/chkHeight); 
var html=''; 
for(var i=0;i<=rows;i++) //if yo use i<rows there is space for one more row 
{ 
    for(var j=0;j<cols;j++) 
    { 
     html +="<input type='checkbox'/>"; 
    } 
} 

gamefield.html(html); 
+1

travaillant aussi dans Chrome. – TheVillageIdiot

+0

Vous avez raison. J'ai utilisé ceil au lieu du sol. Votre version est affichée correctement. Mais si j'utilise append au lieu de html. Je reçois une telle image dans FF et Chrome http://img2.pict.com/4b/14/3a/3032352/0/clipboard2.jpg – Overdose

+0

Hmm, j'ai remarqué que cela arrive en raison de l'espace supplémentaire (pourquoi est-il ajouté ?? ...). – Overdose