[hta / javascript / html]

ang3l

Ensign
Registriert
Okt. 2006
Beiträge
192
ich habe einen simplen fortschrittsbalken erstellen wollen.
nun.. der code funktioniert nicht, das stört mich nicht wirklich, aber ich wüsste gerne, wieso der nicht funktioniert. nach meiner logik müsste er es eigentlich :freaky:

kommentar zum code:
- wenn die maus auf der hta-oberfläche ist wird javascript aufgerufen
- dort soll es ein <td></td> mit "i"-breite in das <tr></tr> (im body) eingefügt werden
- die breite geht von 1 zu 100 (in der schleife hochgezählt)

Code:
<html>
	<head>
	</head>
	<script language="javascript">
		function Tabelle ()
		{
			for (var i = 1; i < 101; i++)
			{
			var string = "<td bgcolor='#000000' width='" + i + "%'></td>";
			alert(string);
			document.getElementById("test").innerHTML = string;
			}
		}
	</script>
	<body onLoad="window.resizeTo(700, 400)" bgcolor="#ABC0D4">
		<table bgcolor="#FFFFFF" height="100%" width="100%">
			<tr id="test" onMouseOver="Tabelle()">
				<td></td>
			</tr>
		</table>
	</body>
</html>

könnt ihr mir helfen wieso das nicht funktioniert?
 
Wird eine Tabellenreihe mit einer leeren Zelle überhaupt dargestellt? Ich meine, ist es eigentlich möglich die Maus auf eine quasi leere Tabelle zu kriegen, damit onMouseOver ausgeführt wird? Oder so: Wird deine Funktion überhaupt gestartet?
 
wäre es nicht einfach dem td eine id zu geben und die breite des elements zu bearbeiten?!

in etwa so? (nicht getestet)
HTML:
<html>
	<head>
	</head>
	<script language="javascript">
		function Tabelle ()
		{
			for (var i = 1; i < 101; i++)
			{
			// var string = "<td bgcolor='#000000' width='" + i + "%'></td>";
			// alert(string);
			document.getElementById("balken").width = i;
			}
		}
	</script>
	<body onLoad="window.resizeTo(700, 400)" bgcolor="#ABC0D4">
		<table bgcolor="#FFFFFF" height="100%" width="100%">
			<tr id="test" onMouseOver="Tabelle()">
				<td id="balken">&nbsp;</td>
			</tr>
		</table>
	</body>
</html>
 
@ krazy: Auf jeden Fall schöner als das Ding mit dem innerHTML, aber:
HTML:
document.getElementById("balken").width = i;
Das müsste heißen:
HTML:
document.getElementById("balken").style.width = i + "%";
Hab's aber sonst auch nicht getestet.
 
habs auch nur so schnell hingebastelt ^^

ich denke, es war klar was ich damit meine und man könnte ja auch noch schnell selber auf selfhtml nachschauen... :-p

grz, krizi....
 
joa fast.. so ists richtig

Code:
<html>
	<head>
	</head>
	<script language="javascript">
		function Tabelle ()
		{
			for (i = 1; i < 101; i++)
			{
				document.getElementById("test2").width = i + "%";
			}
		}
	</script>
	<body onLoad="window.resizeTo(700, 400)" bgcolor="#ABC0D4">
		<table bgcolor="#FFFFFF" height="100%" width="100%" style="border-collapse:collapse">
			<tr id="test" onMouseOver="Tabelle()" width="100%">
				<td id="test2" width="0%" bgcolor="#000000"></td>
				<td id="test3" width="100%"></td>
			</tr>
		</table>
	</body>
</html>

danke für eure hilfe
 
Zurück
Oben