• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit Schleife Tabele erzeugen?

Status
Für weitere Antworten geschlossen.

Hard-Styler1

Neues Mitglied
Hi Leutz

habe eine schleife zb
PHP:
for (x=0; x<10; x++) {
document.write('<img src="'+array[x]+'">');
}}
Was sie macht is eigentlich uninteressant sie list aber Bilder ausgeben,nur sollen diese bilder in einer tabele ausgegeben werden und dafür soll die schleife sorgen ,sie soll mir eine tabele erzeugen is mit PHP ja voll easy nur raf ich es mit JS nicht hoffe habt schnell nen code schnipsel am start

lg:hardstyler
 
Ja nee, is klar...

die über 50 neuen Beiträge heute (bzw. gestern) hast du dann wohl übersehen. Kann ja mal passieren.

Obwohl das hier bei dir vermutlich wieder nicht funktionieren wird (hab ich extra so gemacht :twisted:), poste ich mal nen Link für all die anderen, bei denen es funktioniert und den Quellcode gleich mit, damit auch du was zum anschauen hast.

Bilder aus einem Array auslesen

Das hier ist HTML, nur zur Info
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Bilder aus einem Array auslesen</title>
    <meta name="description" content="Bilder aus einem Array auslesen" />
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <link type="text/css" rel="stylesheet" media="screen, projection" href="css/preloadImages.css" />
    <script type="text/javascript" src="javascript/preloadImages.js"></script>
  </head>
  <body onload="preloadImages(); init();">
    <div id="content">
      <p onclick="init();">Klick mich</p>
    </div>
  </body>
</html>
Und nun Javascript
Code:
var imageArray = new Array('images/1.jpg', 'images/2.jpg', 'images/3.jpg', 'images/4.jpg', 'images/5.jpg', 'images/1.jpg', 'images/2.jpg', 'images/3.jpg', 'images/4.jpg', 'images/5.jpg');

function preloadImages() {
  for (var i in imageArray) {
    var image = new Image();
    image.src = imageArray[i];
  }
}

function init() {
  if (navigator.appName == 'Microsoft Internet Explorer') {
    var fragment = document.createDocumentFragment();
    var table = document.createElement('table');
    var tbody = document.createElement('tbody');
    for ( var i in imageArray) {
      if (i%5 == 0) {
        var tr = document.createElement('tr');
      }
      var td = document.createElement('td');
      var image = document.createElement('img');
      image.setAttribute('alt', imageArray[i]);
      image.setAttribute('src', imageArray[i]);
      td.appendChild(image);
      tr.appendChild(td);
      tbody.appendChild(tr);
      table.appendChild(tbody);
      fragment.appendChild(table);
    }
    var content = document.getElementById('content');
    content.appendChild(fragment);
  } else {
    var fragment = document.createDocumentFragment();
    var table = document.createElement('table');
    for ( var i in imageArray) {
      if (i%5 == 0) {
        var tr = document.createElement('tr');
      }
      var td = document.createElement('td');
      var image = document.createElement('img');
      image.setAttribute('alt', imageArray[i]);
      image.setAttribute('src', imageArray[i]);
      td.appendChild(image);
      tr.appendChild(td);
      table.appendChild(tr);
      fragment.appendChild(table);
    }
    var content = document.getElementById('content');
    content.appendChild(fragment);
  }
}
Der IE hat nen eigenen Block bekommen, weil der ja <tbody> braucht beim dynamischen erstellen von Tabellen. Ginge auch alles in einem.

Und nun bitte, bring mich zum lachen und sag mir, dass es nicht geht.

PS: Bei allen anderen entschuldige ich mich, aber so ein bisschen Sarkasmus musste sein.
 
Zuletzt bearbeitet:
Natürlich ist es von der HTML-Semantik her sinnvoller, eine Auflistung von Bildern auch als Liste auszuzeichnen, nicht als Tabelle, denn es handelt sich nicht um tabellarische Daten. Wenn nicht noch andere Daten zu jedem Bild vorhanden sind.
 
Unabhängig von der Semantik. Wenn ich in einer Tabelle kein <tbody> habe, werden die Reihen automatisch zu Kindern von einem <tbody> im DOM.

Deshalb ist IEs verhalten strikter und somit besser.
 
Bekomm es einfach nicht hin und kommt blos nicht auf die Idee zusagen soll Javascript lernen lese jetzt das 5de Buch und da steht auch kein einfach gehaltenes beispiel drin und das von thor hilft mir apzulut garnicht,bitte jetzt nur noch antworten wen ihr wirklich ne antwort hab und einen kleinen code hier mal mein versuch

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test1</title>

<script language="javascript">

var bilder = new Array(30)

bilder [0] = "bilder/bild (1).jpg";
bilder [1] = "bilder/bild (2).jpg";
bilder [2] = "bilder/bild (3).jpg";
bilder [3] = "bilder/bild (4).jpg";
bilder [4] = "bilder/bild (5).jpg";
bilder [5] = "bilder/bild (6).jpg";
bilder [6] = "bilder/bild (7).jpg";
bilder [7] = "bilder/bild (8).jpg";
bilder [8] = "bilder/bild (9).jpg";
bilder [9] = "bilder/bild (10).jpg";
bilder [10] = "bilder/bild (11).jpg";
bilder [11] = "bilder/bild (12).jpg";
bilder [12] = "bilder/bild (13).jpg";
bilder [13] = "bilder/bild (14).jpg";
bilder [14] = "bilder/bild (15).jpg";
bilder [15] = "bilder/bild (16).jpg";
bilder [16] = "bilder/bild (17).jpg";
bilder [17] = "bilder/bild (18).jpg";
bilder [18] = "bilder/bild (19).jpg";
bilder [19] = "bilder/bild (20).jpg";
bilder [20] = "bilder/bild (21).jpg";
bilder [21] = "bilder/bild (22).jpg";
bilder [22] = "bilder/bild (23).jpg";
bilder [23] = "bilder/bild (24).jpg";
bilder [24] = "bilder/bild (25).jpg";
bilder [25] = "bilder/bild (26).jpg";
bilder [26] = "bilder/bild (27).jpg";
bilder [27] = "bilder/bild (28).jpg";
bilder [28] = "bilder/bild (29).jpg";
bilder [29] = "bilder/bild (30).jpg";

</script>
</head>

<body>

<table width="152px" border="1" >
<script language="javascript">
for (var x=0; x<30; x++) {
document.write("<tr>"+"<td>"+'<img  width="150px" height="150px" src="'+ bilder[x] +'">'+"</td>"+"</tr>");
}}
</script>
</table>


</body>
</html>

und scheiß erst mal auf den tbody tag wille s nur im ff erstmal schaffen dan werde ich schon von aleine frage wie ich es im ie machen kann step by step und blos keine links habe in den letzten wochen 100derte gelesen die beste antwort hier war ja schon (warum nehmste dir nicht bein fertiges script ) man bei sowas könnte ich platzten weil ich es lernen will und das hier ein hilfe forum is und wen ich ne frage habe erwarten kann das auch ne prduktive antwort kommt wen ihr was fragt zb. wie is das wetter antworte ich doch auch nicht deine socken stincken hoffe jemand kann mir mein script bischen aufbessern damit ich es mal sehe und bitte jede neue funktion erklären damit ich es verstehen schon mal danke im voraus

lg:hardstyler
 
man thor damit haste dich selber übertroffen man natürlich geht jetzt das ganze script und es hat auf einmal auch noch alle funktionen die ich garnicht mehr coden mus sauber gute arbeitet könnte auch 100klammern drasn hängen und es würde nix bewirken da die schleife mit der ersten klamer geschlossen wird und die 2te nicht mehr beachtet wird habe aber jetzt ein sehr gutes beispiel gefunden womit ich vieleicht zum ziel kommen aber kp wen ihr noch bessere antwortetn habt bitte schreiben wen ich es selber schaff werde ich euch informieren :-D
 
Na wenn du meinst...

Ich hab Bilder gesehen, als ich die Klammer entfernt habe, vorher nicht, aber du weißt das sicher besser.
 
man was bin ich gut habs geschafft zumindest schon mal einen teil habe anstat mit den bildern zu arbeiten nur mal x ausgegeben is übersichtlicher was bin ich happy so ne lösung hätte ich mir von euch gewünscht hier mal code juhu

<body>
<table border="1">
<script language="javascript">
for (var x=0; x<30; x++) {
document.write("<tr><td>"+ x + "</td></tr>");
}
</script>
</table>


</body>

man was bin ich gut juhu ne aber brauche natürlich weiter hin euere hilfe selbst wen sie nicht immer ans ziel führt sry das ich mich ebend so aufgeregt habe habe einen kunden im nacken sitzten lange wartet der nicht mehr aber okay nexte frage ihr habt vom tbody geredet brauche ich den jetzt über haupt noch ?
 
Woran das wohl liegt, dass es angezeigt wird, ich würde mal schätzen, an der nicht mehr vorhandenen, zweiten Klammer.

Wenn du es mit document.write machst, brauchst du das tbody nicht.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben