Poste doch mal den vollständigen Code bei http://pastebin.com/
Das Posten von Code funktioniert ja leider in diesem Forum nicht richtig.
Beiträge von Sempervivum
-
-
Wenn ich dich richtig verstehe, kannst Du das erreichen, indem Du das Video exklusiv in eine neue Reihe der Tabelle legst, hinter den beiden Grafiken.
Benutzung von Tabellen für Layoutzwecke ist nicht mehr zeitgemäß. In deinem Beispiel macht es das Layout IMO unnötig kompliziert - ohne Tabelle wäre es einfacher. -
document.getElementById('tabelle1').rows[sindex].cells[zindex] liefert die Tabellenzelle aber nicht das img-Element darin. Du musst das erste Kind-Element ermitteln:
https://wiki.selfhtml.org/wiki/JavaScrip…Node/childNodesetwa so:
document.getElementById('tabelle1').rows[sindex].cells[zindex].childNodes[0].src = "deinbild.gif"; -
Nein, es muss eine php-Datei sein, weil Du ja den HTML-Text mit PHP generierst. In dieser PHP-Datei muss alles stehen, was Du für die Generierung der Texte brauchst, also die Definition des Arrays, das Shuffle und die echo-Anweisungen, die das HTML erzeugen.
-
Zitat
allerdings hätte ich am liebsten noch zusätzlich einen Button der lediglich die Divs reloaded
Das geht mit Ajax, wie ich sehe, gibt es darüber auch ein Kapitel hier bei HTML-Seminar. Mit der jQuery-Funktion load() kannst Du auf einfache Weise deine divs in einen Container hineinladen. Du musst nur eine passende PHP-Datei anlegen; den Code dafür hast Du ja schon.
-
-
Sorry, das war ein Flüchtigkeitsfehler.
-
Nein, Du darfst die PHP-Datei nur einmal einziehen, wenn Du das getan hast, steht sie ein für alle Mal zur Verfügung:
PHP<?php include('url.php'); ?><div class="links"><? echo "$zufallsdiv[1]"; ?></div><div class="mitte"><?php echo "$zufallsdiv[2]"; ?></div> <div class="rechts"><? echo "$zufallsdiv[3]"; ?></div>Und wenn Du fünf Zufallsdivs haben willst, wie Du anfangs geschrieben hast, wäre es eleganter, sie in einer for-Schleife zu generieren.
-
Meinst Du mit PHP-Rahmen dieses:
Ja, PHP kannst Du nur zwischen diesen Tags verwenden. Du kannst diese jedoch an einer beliebigen Stelle in deinem Dokument notieren, auch mehrfach, und kannst dann auch auf die Variablen bzw. Arrays zugreifen, die Du in der includierten Datei definiert hast.
echo brauchst Du nur, um HTML- oder auch Javascript auszugeben, das im Dokument an den Browser geliefert wird. -
Das ging ja schnell!
ZitatWürdet Ihr den PHP Code nun auslagern, oder einfach in die Section um die 3 x 3 Divs packen? Dann könnten da natürlich nach gewisser Zeit einige 100 Arrays mit zugeordneten Divs im Quellcode stehen.
Gute Idee. Ich bin immer dafür, Daten und Logik zu trennen - das würde dafür sprechen, die Definition des Arrays in eine Datei auszulagern und diese mit include einzuziehen.
ZitatWenn ich die PHP Datei auslagere, wie bekomme ich dann die Divs bzw. Arrays in die html Datei?
Das ist kein Problem: Wenn Du den ausgelagerten Code mit include einziehst, ist der Effekt derselbe, als wenn Du ihn mit einem Editor an der Position des include eingefügt hättest. D. h. wenn Du in der inkludierten Datei etwas mit echo ausgibst, wird es in der übergeordneten Datei eingefügt und zwar an der Position, wo das echo steht.
ZitatUnd ist es möglich zu einer PHP Datei eine CSS Datei zu verlinken, wie bei einer HTML Datei?
Selbstverständlich, Du kannst deine CSS-Datei genauso wie gewohnt einziehen. Weil das PHP serverseitig ausgewertet wird, sieht der clientseitige Browser nichts davon sondern nur das generierte HTML.
-
Offenbar liegt das Problem hier:
if (!myTable.getAttribute("data-locked"))
{ }
alert("Nicht gesperrt. Hier geht es weiter");
this.style.backgroundColor = "yellow";Du hast da eine öffnende und eine schließende Klammer direkt hintereinander statt die folgenden Anweisungen einzuklammern. Wahrscheinlich ist dies, was Du eigentlich vor hast:
if (!myTable.getAttribute("data-locked")) {
alert("Nicht gesperrt. Hier geht es weiter");
this.style.backgroundColor = "yellow";}
-
Ich würde auch empfehlen, es mit PHP zu machen, dann kannst Du die Ladezeit reduzieren, wenn es im Laufe der Zeit viele divs werden.
Informiere dich über Arrays in PHP und lege den HTML-Text der divs in ein Array. Dann mische dieses Array mit der Funktion shuffle, um eine zufällige Reihenfolge zu bekommen. Dann brauchst Du nur noch in einer for-Schleife die ersten fünf Element auszulesen und mit echo auf deiner Seite auszugeben. -
PS: Ich habe es gerade ausprobiert und dieser Fehler wird leider nicht angezeigt. Ich empfehle dir, dich mit den Entwicklertools deines Browsers vertraut zu machen, dort wird in der Console solch ein Fehler auf jeden Fall angezeigt. VS Community ist aber trotzdem zu empfehlen, er zeigt sehr viele Fehler gleich bei der Eingabe an. Das beschleunigt die Entwicklung ungemein und wenn man sich einmal daran gewöhnt hat, möchte man es nicht mehr missen.
-
Ja, gibt es. Ich habe längere Zeit gesucht und bin dann auf MS Visual Studio Community gestoßen. Von der Installation her ein Moloch, aber die automatische Anzeige von Fehlern während der Eingabe ist das Beste, was ich gefunden habe.
-
In beiden Zeilen ist ein Fehler:
- tds ist eine Nodelist und um ein Element anzusprechen, musst Du den Index verwenden: tds[ i ], so wie Du es in der zweiten Zeile auch tust.
- Schreibfehler bei hight.
Edit: Da bin ich wohl hereingefallen: Weil Du keine Codetags verwendet hast, hat das Forum dasals BBCode für italic interpretiert und verschluckt. 1. entfällt daher. 2. trifft jedoch zu.
-
Wenn man es selber machen will, um jQuery zu lernen, ist das natürlich ein Grund und ich will dir einen Hinweis geben, wie man so etwas machen kann:
Am Anfang ist es am einfachsten, wenn man es mit einer einheitlichen Bildgröße macht. Erzeuge zwei verschachtelte Container, einen inneren und einen äußeren. Der äußere ist so groß wie ein Bild, die Breite des inneren ist variabel, die Höhe gleich der Höhe eines Bildes. Dann packe die Bilder nebeneinander in den inneren Container. Der äußere Container wird relativ, der innere absolut positioniert. Die x-Position (left) animierst Du mit CSS-Transition. Wenn Du jetzt mit deinem jQuery die x-Position des inneren Containers veränderst, kannst Du die Bilder gleiten lassen. Dabei muss die x-Position immer ein Vielfaches der Bildgröße sein.
Wenn Du Probleme hast, dann melde dich wieder. -
Freut mich, dass es funktioniert. Ich habe die Funktion noch ein wenig verbessert, so dass ein Thumbnail auch dann neu angelegt wird, wenn es schon existiert, aber sich die Bilddatei geändert hat:
http://pastebin.com/9dM98m3L -
Lege lieber eine Testseite an und poste die URL, dann muss man nicht jede einzelne Datei herunterladen.
-
Habe mal etwas ausgearbeitet:
http://pastebin.com/AGeG6Bpf -
Warum hast Du denn drei Funktionen statt einer angelegt? Und sind deine Bilder alle im JPG-Format?