Avatar billede changman Nybegynder
21. januar 2002 - 13:23 Der er 7 kommentarer og
1 løsning

Generering af tabel vha. JavaScript

Hej Eksperten

Jeg skal lave en oversigt over nogle vinduetyper. Jeg har billeder af hver enkelt billede, og jeg vil nu gerne vha. JavaScript automatisk få dem hentet ind i en tabel med 4 rækker. Det skulle gerne være sådan, at man kan tilføje billeder forskellige steder i tabellen på senere tidspunkter. Til hvert billede skal der også tilføjes en tekst...

Håber I kan hjælpe mig!?!?!
Avatar billede Slettet bruger
21. januar 2002 - 20:55 #1
OK, men så må du lige lave en drejebog over hvad, der skal ske ved en bestemt hændelse, o.s.v.
Men jeg tror da godt, jeg kan hjælpe dig! :)
Avatar billede changman Nybegynder
21. januar 2002 - 21:00 #2
Hej Phoenixv...

Jeg har fundet ud af det meste selv, men mangler stadig en afslutning sådan at den sidste række ikke bliver fyldt ud med udefinerede billeder.. Her er min foreløbige kode:


<html>
<head>
<script language=\"JavaScript1.2\"></script>
<style type=\"text/css\">
        .billedtxt {    font-family: Verdana, Helvetica, Arial;
                        font-size: 16px;
                        color: #0099CC;
                        font-weight:bold;
                        margin-top: 0px}
</style>
</head>

<body>
<script language=\"JavaScript1.2\">
        function skriv(tekst){
                document.write(tekst)
        }
        var pics = new Array(\"211\",\"220\",\"221\",\"222\",\"223\",\"224\",\"225\",\"226\",\"227\",\"228\",\"230\",\"231\",\"232\",\"233\",\"234\",\"235\",\"236\",\"237\",\"238\",\"239\",\"240\",\"241\",\"242\",\"244\",\"245\",\"246\",\"247\",\"248\",\"250\",\"253\",\"254\",\"255\",\"257\",\"258\",\"261\",\"263\",\"264\",\"265\")

        var numPics = pics.length;
        var numRows = numPics/4;
        var numCols = 4;
        var endRowValue = 3;

        skriv(\"<table width=\'580px\' border=1>\")
        i=0;
        for(r=0; r <= numRows; r++){
                skriv(\"<tr>\");
                        if(i <= numPics){
                                do{
                                        skriv(\"<td><img src=\");
                                        skriv(\"./images/user/pro_vin_dan_\")
                                        skriv(pics[i]);
                                        skriv(\".gif><p class=\'billedtxt\'>\");
                                        skriv(pics[i]);
                                        skriv(\"</p></td>\");
                                        i++;
                                } while (i <= endRowValue);
                                endRowValue += numCols;
                        }
 
                skriv(\"</tr>\")
        }
        skriv(\"</table>\")
</script>
</body>
</html>
Avatar billede Slettet bruger
22. januar 2002 - 16:19 #3
Udskift dine while-sætning med dette:

while (i <= endRowValue && typeof(pics[i]) != 'undefined');
Avatar billede changman Nybegynder
22. januar 2002 - 20:32 #4
Mange Tak Phoenixv

Du er bare 'Æ man'... Mange tak!!!!

Mvh ChangMan
Avatar billede changman Nybegynder
22. januar 2002 - 20:33 #5
Må jeg spørger dig om der er andet af koden der er unødvendig... eller der er en smartere måde af lave det på????

/ChangMan
Avatar billede Slettet bruger
23. januar 2002 - 20:14 #6
Uha, så skal jeg jo ind og studere det nærmere! :)
Jeg vender tilbage snart (forhåbentlig...).
Avatar billede Slettet bruger
23. januar 2002 - 20:33 #7
Den er skrevet helt fint til lige præcis dit eksempel, men hvis man vil have flere kolonner, opstår en del problemer. Fx bliver nogle af billederne "undefined", og kolonnerne passer ikke helt. Denne reviderede version passer en del bedre, da man kun skal ændre i variablen "numCols", hvis man vil have flere kolonner. Desuden er "undefined" problemet rettet (du skal simpelthen bare bruge en while-sætning, ikke en do-while):

<html>
<head>
<script language="JavaScript1.2"></script>
<style type="text/css">
        .billedtxt {    font-family: Verdana, Helvetica, Arial;
                        font-size: 16px;
                        color: #0099CC;
                        font-weight:bold;
                        margin-top: 0px}
</style>
</head>

<body>
<script language="JavaScript1.2">
        function skriv(tekst){
                document.write(tekst);
        }
        var pics = new Array("211","220","221","222","223","224","225","226","227","228","230","231","232","233","234","235","236","237","238","239","240","241","242","244","245","246","247","248","250","253","254","255","257","258","261","263","264","265"); //Billedernes navne

        var numCols = 4; //Antal kolonner
        var numPics = pics.length;
        var numRows = numPics/numCols;
        var endRowValue = numCols - 1;

        skriv("<table width='580px' border='1'>");
        i = 0;
        for (r = 0; r <= numRows; r++) {
                skriv("<tr>");
                        if (i <= numPics) {
                                while (i <= endRowValue && typeof(pics[i]) != 'undefined') {
                                        skriv("<td><img src=");
                                        skriv("./images/user/pro_vin_dan_")
                                        skriv(pics[i]);
                                        skriv(".gif><p class='billedtxt'>");
                                        skriv(pics[i]);
                                        skriv("</p></td>");
                                        i++;
                                }
                                endRowValue += numCols;
                        }
 
                skriv("</tr>")
        }
        skriv("</table>")
</script>
</body>
</html>
Avatar billede changman Nybegynder
23. januar 2002 - 22:15 #8
MANGE TAK.... Det er total dejligt at der er nogle der gider at hjælpe!
Tak Phoenixv...
Jeg var da godt på sporet... det er da fedt at vide at det ikke er helt sort!! Det er jo altid sværere at lave det hele fra bunden, når man ikke har nogle eksempler at holde sig til. Har du egentlig et website man kan se... Bare for nysgerrighedens skyld?

/ChangMan
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester