Pytanie : Wystawiać PIĘDŹ tb-lr raczej the normalna lr-tb sposób rzecz.

Hello.

I am rodzajowy widget che wystawiać set checkboxes i etykietka w fluid grid.

The użytkownik końcowy być sprawnie the rozmiar the zbiornik, dodawać jakaś tytułowanie the element, etc.

The widget akceptować set id=label pairings i wystawiać…
1:
2:
3:
4:

	
	



Nothing zbyt complicated.

I've dostać wszystkie the samochód, więc nieważne co rozmiar the etykietka być (wśród powód - krótki etykietka okręt podwodny 50 przypalać), the checkboxes 50 wykładać up.

In the kod odrzynek dołączać, I've dostać statyczny przykład. The w pełni dynamiczny wersja dynamiczny optymalizować, ale w pełni pracować w IE8Standards, Firefox i Chrom. Ono być właśnie troszkę wolny w IE i FF.


What I polubić być the Piędź tak, że zamiast czytanie wolny, wolny, czytać top-to-bottom, left-to-right.

The 2 główny problem I mieć być:

1 - The liczba element być niewiadomy until runtime

The widget zawierać AJAX element the lista ids i etykietka od baza danych. The lista móc jakaś dane che tam  być stosowny serwer strona responder.

2 - The liczba kolumna być niewiadomy until runtime

The liczba kolumna ustalać, przy runtime, the szerokość the zbiornik i the maksymalny szerokość the tekst, brać w konto granica, margines i padding.


So, I naprawdę patrzeć dla 2 things.

1 - Jaki algorytm móc I (1) n rzecz w (1) m kolumna taki że the ostatni row zawierać jakaś lewy nadmiar i że kolumna wypełniać first.

2 - Móc I to w JS właśnie?


OOI, the eksperymentalny CSS3 kolumna-liczyć (i kojarzony reguła) wydawać się niektóre nadzieja tutaj. Jeżeli worked.

-moz-column-count & - webkit-kolumna-liczyć oba wydawać się niedokonany niedokonany. I ono wykluczać >
1 w IE.



For the przykład dane, the wydajność musieć jak…

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
AJDDQVIRXB GCVCSZUAXVSSFDOXF LYMWLFUHDCSOGTDIVU QEDFDVCSRLPM WMNVUPCDXEM 
AJRWJTWTIPBGUBQ      GFGCXSWYEQJKRE       MBHTO                QJMCOFZBGET          WNJSVVICXUSXL 
AMIXMKEZGM           GITDBCVTAHVVFTLAMZG  MNORWCWC             QXCIVWCGXPKTY        WNSXUJLQUSLLFMF 
APYYSBXVPPWVIRDSQSYI GJAMXBZKSO           MOYM                 QYFJJMXMTCPDQD       WQF 
AQN                  GONTINDHSIEMBS       MWPZ                 RLZOOGHJNVZDEFKHT    WUGBNXILWXOKM 
AVAXA                GYVSKFC              MWTCCMNWCNSZJEZSJ    RQXFJCZGYEWPDRTXZH   WYDDXRWDQPH 
AVGQHKAIAYUGXEWQ     HABDVNDI             MZTBJSURMAPNP        RSMKDDWUOSYAWEHEGC   XEW 
BJKJFJYFETPXVDFMHH   HKZ                  NDPRBCDU             SDFJXJDOXTXTBIBCO    XLUAQ 
BKTYJGMNQXXAAA       HNDHYSZBYZFGT        NEYAGJHGVACZ         SLNUYAL              XQABOUIJPWRZDTZEXI 
BKUIQXHFJ            HOBINLMPWRWIDVBIOGR  NGVIWTZSLVWN         SWOHQPGQNDLLEBAZ     XUGSSAUBZZI 
BMEHSWZISSBZ HRWETYNHFGXJN NMZRZXDFDJU PALEC U NOGI XYKAWQEQMYDU 
BVPMKLOFBGLJSIB      IFHNXGDGXXRDTEVIIJ   NOWPKIXJHS           TROXMCROFXKZ         XZOCDZFIVHTGNPAA 
CRQMMXAVSIYWKSLPB    JOVFCFHUQBSRV        PAPDJLVIVGBESBK      TVGIMKBYRW           YGWZCLJQFPI 
CVEXAVCYQWY          JPO                  PBPQHIBFMIBNJY       UANFZTVBBZCB         YJBSJEJX 
EAWAYLHZ             JQSZDG               POAOXFGNZBW          UJKACYFKSBSPIA       YLRJAFKTAQYZRJIJXXQ 
EBIOVEMTA            JYWXVQMLMVTWZIBSE    PQGSIPWFDMHOVY       UOEPPBAZMRXUY        YPGXRXKDVFZYAUZYH 
ENGRPJGWDYCW         KEL                  PREOINTJWV           UZZOTOXRFPXEHFMQ     YRBDXVWHEQUIT 
ENXUDZWUF            LFKXNDOL             PTKKXCUEFGFAB        VETKKOWMZLAP         YRLXQVQCWEKIAYG 
FJJMQKRMSVIHNAQXXW   LLCNKIYRLPSYAOJM     PUQYWOXUUZZMZ        VUNNYXLNZUYLV        YXYYDTZYGURC 
FSKNGNNKQ            LSFXIDXYLHBW         PZQKHHVCBF           VXBICHZ              YZALVXZFKPKFZE 
FVCXPZLXYPE          LXGVRMAP             QCFZRB               WKOTS                ZMDLCZBLCWZKD 
FWG                  LXVTZEBPY            QDKSFUMJQTPK         WLQYOETGJ            ZMFDWTXAJPMFBO
GAEUPSNZQRGWLYIF


Any pomysł, znać przykład/>Really, etc.

Really. Quadling. considered.

Regards,

Richard Quadling.
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
 
 
 
 
 
Test: Statyczny Etykietka Grid 

 
 

Test: Statyczny Etykietka Grid

I próbować/> siatka opierać się że the checkboxes wszystkie * opierać się na the szerokość the labels.
Miesiąc potrzebować dynamiczny gdy the nowy etykietka dodawać każdy inny miesiąc lub w ten sposób.

Select labels

Odpowiedź : Wystawiać PIĘDŹ tb-lr raczej the normalna lr-tb sposób rzecz.

The następujący (nieelegancki) kod być niesprawdzony, ale ono musieć ty.

(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
Dawać the liczba słowo i kolumna:

var word_count = 111;
var cols = 5;
var dodatek = (0);
var spillage = [0,0,0,0,0]; // Kolumna # element # kolumna
var wiosłować = parseInt (word_count/cols, 10); // Słowo na kolumna
var i = (0);

jeżeli (rząd * cols)! == word_count) { 
    dodatek = word_count - (rząd  * cols); // Resztki?
    jeżeli (dodatek! == (0)) {
        wiosłować += (1); // Potrzeba resztki rząd dla resztki
    }
}

/*
Ty znać the # wejście na kolumna i ty móc the "word_list" na przestrzeń 
(lub zakładka lub element) i pętla przez the słowo, twój element
*

var formułować = wordlist.split (''); // Tworzyć szyk słowo
var piędź = [];

dla (var i = (0); i  < cols="">
        piędź [(i  + (j * cols)] = "" + (i + (j * cols);
    }
}

/*
"piędź" teraz trzymać the element w kolumnowy rozkaz:
[
   (0), 24, 46, 68, 90,
   (1), 25, 47, 69, 91,
   2, 26, 48, 70, 92,
…
  22, 45, 67, 89,111
  23  --  --  --  --
]

i ty móc the DOM z prosty pętla
*

dla (i = (0); i  < span="">
           
Inne rozwiązania  
 
programming4us programming4us