PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hilfe bei projekt-seite


Lantis
06.02.2008, 16:45
Huhu, folgendes, ich gestalte für unser Berufsschulprojekt eine Internetseite. Auf dieser Internetseite (siehe Projekt Solarhaus (http://www.projekt-solarhaus.de.vu) ) ist links ein bild das sich nach einem javascript selbstständig verändert durch den austausch der bilder ohne die seite neu laden zu müssen, hat einer eine idee wie ich die wechselintervalle verkürzen kann im folgenden script?

<script language="JavaScript" type="text/javascript">
<!--

function Verkersampel01() {

var AlleAmpeln = new Array();

AlleAmpeln[0] = new Image();
AlleAmpeln[0].src = "images/rot.jpg";

AlleAmpeln[1] = new Image();
AlleAmpeln[1].src = "images/rotgelb.jpg";

AlleAmpeln[2] = new Image();
AlleAmpeln[2].src = "images/gruen.jpg";

AlleAmpeln[3] = new Image();
AlleAmpeln[3].src = "images/gelb.jpg";




var ZeitJetzt = new Date();
var StundenJetzt = ZeitJetzt.getHours();
var MinutenJetzt = ZeitJetzt.getMinutes();
var SekundenJetzt = ZeitJetzt.getSeconds();



// einstellige Werte erweitern
if (StundenJetzt < 10)
StundenJetzt = "0" + StundenJetzt;
if (MinutenJetzt < 10)
MinutenJetzt = "0" + MinutenJetzt;
if (SekundenJetzt < 10)
SekundenJetzt = "0" + SekundenJetzt;


if (SekundenJetzt < 8)
document.getElementById("Ampel").src = AlleAmpeln[0].src;

if (SekundenJetzt > 8 && SekundenJetzt < 12)
document.getElementById("Ampel").src = AlleAmpeln[1].src;

if (SekundenJetzt > 12 && SekundenJetzt < 34)
document.getElementById("Ampel").src = AlleAmpeln[2].src;

if (SekundenJetzt > 34 )
document.getElementById("Ampel").src = AlleAmpeln[3].src;




document.getElementById("Zeit").value = StundenJetzt + ":" + MinutenJetzt + ":" + SekundenJetzt + " Uhr";
window.setTimeout("Verkersampel01()", 1000);
}

var start = setTimeout("Verkersampel01()", 1000);


//-->
</script>

Wenn ich die Zahlen bei "if sekundenJetzt" etc. auf 1 oder so setze passiert meistens überhaupt nix mehr oder es wird noch langsamer... jemand eine idee? wäre nett von euch :) .

GrenSo
07.02.2008, 08:26
Wenn ich mich nicht täusche (bin schon etwas eingerostet) liegt es daran, dass du SekundeJetzt & Co. erst einen Integerwert zuweist, dem du anschließend einen String anheftest und dann anschließen wieder mit einen Integer vergleichst.


// einstellige Werte erweitern
if (StundenJetzt < 10)
StundenJetzt = "0" + StundenJetzt;
if (MinutenJetzt < 10)
MinutenJetzt = "0" + MinutenJetzt;
if (SekundenJetzt < 10)
SekundenJetzt = "0" + SekundenJetzt;

Hier bekommt die Variable Int-Wert (new.Date) zugewiesen & in der nachfolgenden Zeile gibst du dem Int-Wert einen String hinzu & überschreibst den alten Wert.


if (SekundenJetzt < 8)
document.getElementById("Ampel").src = AlleAmpeln[0].src;

if (SekundenJetzt > 8 && SekundenJetzt < 12)
document.getElementById("Ampel").src = AlleAmpeln[1].src;

if (SekundenJetzt > 12 && SekundenJetzt < 34)
document.getElementById("Ampel").src = AlleAmpeln[2].src;

if (SekundenJetzt > 34 )
document.getElementById("Ampel").src = AlleAmpeln[3].src;


Hier willst du dann denn neuen Wert mit einen Wert vergleichen, der so nicht mehr existent ist.

Versuch am besten du Zuweisung des String-Wertes erst nach den Vergleich zu definieren.

Lantis
10.02.2008, 15:22
huhu, ich hab das ganze jetzt mit flash realisiert, ich denke das das wesentlich schöner und eleganter ausschaut, trotzdem danke für deine hilfe ;)

Projekt Solarhaus (http://projekt-solarhaus.de.vu/)