Squicky
Lt. Commander
- Registriert
- Sep. 2002
- Beiträge
- 1.422
Hallo
Ich habe nur (sehr) wenig Webentwicklung und HTML Erwahrung.
Ich möchte auf einer für mich großen und komplexen Seite eine kleine Änderung machen.
Um mein Problem leichter zu erklären habe ich eine kleine (dumme) Beispielseite geschrieben.
Die Seite hat ein select combobox Auswahlfeld und zwei Tabellen (tableA und tableB)
Die Tabellen sind in einem div.
Am Anfang sind die Tabellen bzw. ihre div per css ausgeblendet (display: none ) .
Es gibt zwei scriptteile.
Mit dem select Auswahlfeld kann man eine, beide oder keine der Tabellen bzw. divs anzeigen. Diese Funktion befindet sich im erstem scriptteil.
Es kann nur nur der zweite scriptteil geändert werden.
Aufgabe / Problem:
Allgemein:
Eine Funktion soll gestartet werden, wenn ein Element sichbar wird.
Diese Funktion soll nachträglich per Javascript an das Elelent hinzugefügt werden.
Am Beispiel:
Jedes Mal wenn tableA eingeblendet wird, soll tableB die Hintergrundfarbe ändern (z.B. blau / rot).
Meine Idee war es, eine "Event-Funktion" oder so im 2. scriptteil hinzuzufügen und an tableA zu binden (onshow, ondisplay, on...).
Leider habe ich keine Ahnung wie man dies machen könnte
:-(
Ich habe nur (sehr) wenig Webentwicklung und HTML Erwahrung.
Ich möchte auf einer für mich großen und komplexen Seite eine kleine Änderung machen.
Um mein Problem leichter zu erklären habe ich eine kleine (dumme) Beispielseite geschrieben.
Die Seite hat ein select combobox Auswahlfeld und zwei Tabellen (tableA und tableB)
Die Tabellen sind in einem div.
Am Anfang sind die Tabellen bzw. ihre div per css ausgeblendet (display: none ) .
Es gibt zwei scriptteile.
Mit dem select Auswahlfeld kann man eine, beide oder keine der Tabellen bzw. divs anzeigen. Diese Funktion befindet sich im erstem scriptteil.
Es kann nur nur der zweite scriptteil geändert werden.
Aufgabe / Problem:
Allgemein:
Eine Funktion soll gestartet werden, wenn ein Element sichbar wird.
Diese Funktion soll nachträglich per Javascript an das Elelent hinzugefügt werden.
Am Beispiel:
Jedes Mal wenn tableA eingeblendet wird, soll tableB die Hintergrundfarbe ändern (z.B. blau / rot).
Meine Idee war es, eine "Event-Funktion" oder so im 2. scriptteil hinzuzufügen und an tableA zu binden (onshow, ondisplay, on...).
Leider habe ich keine Ahnung wie man dies machen könnte
:-(
HTML:
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
}
#tableA {
display: none;
}
#tableB {
display: none;
}
</style>
<title>Page Title</title>
</head>
<body>
<select id="abc">
<option value="-">-</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="A+B">A+B</option>
</select>
<script>
//scriptteil 1
document.getElementById("abc").addEventListener("change", myFunction);
function myFunction() {
var x = document.getElementById("abc").value;
if (x == "A") {
document.getElementById("tableA").style.display = 'block';
document.getElementById("tableB").style.display = 'none';
}
if (x == "B") {
document.getElementById("tableA").style.display = 'none';
document.getElementById("tableB").style.display = 'block';
}
if (x == "A+B") {
document.getElementById("tableA").style.display = 'block';
document.getElementById("tableB").style.display = 'block';
}
if (x == "-") {
document.getElementById("tableA").style.display = 'none';
document.getElementById("tableB").style.display = 'none';
}
}
</script>
<script>
//scriptteil 2
//Aufgabe: Jedes Mal wenn tableA eingeblendet wird, soll tableB die Hitnergrund Farbe ändern (z.B. blau / rot)
</script>
<br>
<br>
<div>
<div>
<div id="tableA">
<table style="width:100%;">
<tr>
<th>A1</th>
<th>A2</th>
<th>A3</th>
</tr>
<tr>
<td>12</td>
<td>234</td>
<td>3</td>
</tr>
<tr>
<td>223</td>
<td>32</td>
<td>253</td>
</tr>
</table>
</div>
<br>
<br>
<div id="tableB">
<table style="width:100%;">
<tr>
<th>B1</th>
<th>B2</th>
<th>B3</th>
</tr>
<tr>
<td>1342</td>
<td>2334</td>
<td>33</td>
</tr>
<tr>
<td>2323</td>
<td>332</td>
<td>2353</td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>
Zuletzt bearbeitet: