Ergebnis 1 bis 13 von 13

Thema: Schleife in Java

  1. #1
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673

    Schleife in Java

    Hi, leider habe ich mit Java absolut keinen Kontakt - und das was ich gesehen habe ist mir zu kompliziert.
    Deshalb habe ich versucht mit Hilfe von google.de Schleifen zu finden und die einfach anzupassen - aber
    bei mir läuft da rein gar nichts. Nur Zeilenfehler ohne Ende....
    Mit PHP brauche ich das erst gar nicht probieren, da ich wohl nur das Endergebnis geliefert bekomme.

    Was ich brauche ist für eine Animation eine ganz einfache Schleife die mir von 1-4096 ganz flink hochzählt.
    Das ist auch schon alles. Text in Weiss, denke aber das ich das ja wohl über CSS zuordne, oder?
    Erst danach soll ein Bild auf der selben Seite geladen werden. Stellt euch die Animation so vor wie ein
    Uralt PC, der gerade startet - und dann das Windows Logo kommt mit dem animiertem Startstreifen
    Bitte noch eine kleine Information, wie ich das auch zum laufen bekomme - muss man Java im Dokument
    noch irgendwie aktivieren? Ich meine ausser dem <script java/text bla></script> ?
    Ihr würdet mir SEHR damit helfen
    Genial wäre natürlich noch das damilige Knattern beim hochzählen des Speichers ...
    Hoffe ich mute euch nicht zuviel zu - zumal das hier auch PHP Forum ist, und ich Java nicht gefunden habe.

    Kussi:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  2. #2
    vB-Guru
    Registriert seit
    20.12.2001
    Ort
    MS-Land
    Alter
    40
    Beiträge
    3.372
    Blog-Einträge
    5
    Du meinst JavaScript, oder? Denn Java ist etwas völlig anderes!

    http://de.selfhtml.org/javascript/sprache/schleifen.htm
    immer ans Backup denken!
    _________________________________

    Blutschwerter.de - Das Rollenspielportal für Pen&Paper

  3. #3
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Ja, sorry ... JavaScript
    Hab mir von dem Beispiel das hier zusammengebastelt:

    HTML-Code:
    <script type="text/javascript">
    var Zaehler = 1;
    while (Zaehler <= 4096) {
      document.write(Zaehler);
      Zaehler++;
    }
    </script>
    schön ... bin schonmal erstaunt das es beim 1. Ansatz bei mir ohne basteln geklappt hat.
    Nur schreibt er es mir hintereinander - ich sehe also nicht, dass er zählt. Es sollte also so sein, dass er eine 1 zählt, die 1 überschreibt, mit einer 2 ersetzt ... usw.
    Schätze mal dass der Vorgang so 2-3 Sekunden dauern wird.

    Liebe Grüsse:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  4. #4
    Du definierst dir ein HTML-Element und tauschst dann nur den Inhalt aus.

    HTML-Code:
    <div id="zahl">0</div>
    <script type="text/javascript">
    var Zaehler = 1;
    while (Zaehler <= 4096) {
      document.getElementById("zahl").innerHTML = Zaehler;
      Zaehler++;
    }
    </script>
    Das sprintet jetzt aber in einer Sekunde durch, also bräuchten wir eine Möglichkeit, das zu verlangsamen. Hierfür kann man Timer nutzen. Dazu packe ich den Code in eine extra Funktion, die sich am Ende immer wieder selbst aufruft.

    HTML-Code:
    <div id="zahl">0</div>
    
    <script type="text/javascript">
    var Zaehler = 1;
    var Ende = 20; // 4096 ist mir zu lang zum Testen
    var millisekunden = 1000;  // Die Funktion verlangt einen Wert in Millisekunden (1000 ms = 1 s)
    
    function Zaehlen()
    {
    	if(Zaehler <= Ende) {
      		document.getElementById("zahl").innerHTML = Zaehler;
      		t = setTimeout('Zaehlen()', millisekunden); // Funktion ruft sich selbst auf
    		Zaehler++;
    	}
    }
    
    Zaehlen();  // Einmal muß sie gestartet werden, man könnte hier auch ein body onload Event definieren. Man muß nur darauf achten, dass das HTML-Element geladen ist.
    </script>
    Scott me up, Beamie!!
    Unser vB: Television Board

  5. #5
    Benutzer
    Registriert seit
    13.03.2006
    Ort
    Berlin
    Alter
    60
    Beiträge
    122
    Code:
    var Ende = 4096; 
    var millisekunden = 1;
    in dieser kleinsten Einstellung läuft der Zähler ca. 20 Sekunden. Müsstest also die 4096 kleiner machen.

  6. #6
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Einfach genial

    Hab vorhin noch ein wenig gebastelt, und das hier kam dabei raus - so läuft es recht gut, werde das aber noch an verschiedenen PCs testen.

    HTML-Code:
    <div id="zahl">0</div>
    
    <script type="text/javascript">
    var Zaehler = 0;
    var Ende = 4096;
    var millisekunden = 25;
    
    function Zaehlen()
    {
        if(Zaehler <= Ende) {
              document.getElementById("zahl").innerHTML = Zaehler;
              t = setTimeout('Zaehlen()', millisekunden);
            Zaehler+=16;
        }
    }
    Zaehlen();
    </script>
    Die schleifen sind ja glücklicherweis ähnlich aufgebaut wie PHP, so habe ich den Zähler auf 0 gesetzt,
    den Counter auf 16 und die ms auf 25. Zumindest im Test unter Xampp läuft es jetzt so wie ich es mir
    vorstelle. Werde mich dann mal an das Design machen

    Ganz lieben Dank!
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  7. #7
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Dachte ich könnte ein wenig weiterbasteln ... für eine simulierte wartezeit, Punkte die nach und nach erscheinen ...

    Mit Hilfe von dieser Seite:

    http://de.selfhtml.org/javascript/sp...ifen.htm#while

    hab ich einfach rumprobiert. Problem - da geht gar nix. Ja mein Xampp reagiert nicht mal mehr auf die aktualisieren Taste. Selbst wenn ich alles lösche bleibt immer die letzte Anzeige stehen.
    Also nach jedem basteln xampp beenden, neu starten - und nochmal probieren - oder eine neue Datei erstellen, alles reinkopieren .. bin schon bei datei67 angelangt.
    Was mache ich hier falsch?

    HTML-Code:
    <script type="text/javascript">
    
    var punkt = 1
    function punkte {
    while (punkt <= 25) {
      document.write("."); 
      window.setTimeout(punkte, 200);
      punkt++;
    
    }}
    punkte();
    </script>
    Sleep und der ganze Krempel geht ebenfalls nicht. Naja ..- vielleicht hat ja noch wer eine Idee ...,

    So schaut es komplett aus - und bisher schreibt er tatsächlich zumindest einen Punkt, überschreibt dann aber die ganze Seite.

    HTML-Code:
        &Uuml;berpr&uuml;fe Internetverbindung
    
    <script type="text/javascript">
    
    var punkt = 1
    while (punkt <= 25) {
          window.setTimeout('document.write(".")',200);
            punkt++;
    }
    </script>
    
    
    <div id="zahl">0</div>
    
    <script type="text/javascript">
    var Zaehler = 0;
    var Ende = 4096;
    var millisekunden = 25;
    
    function Zaehlen()
    {
        if(Zaehler <= Ende) {
              document.getElementById("zahl").innerHTML = Zaehler;
              t = setTimeout('Zaehlen()', millisekunden);
            Zaehler+=16;
        }
    }
    Zaehlen();
    </script>

    Liebe Grüsse:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  8. #8
    vB-Guru
    Registriert seit
    20.12.2001
    Ort
    MS-Land
    Alter
    40
    Beiträge
    3.372
    Blog-Einträge
    5
    Ok, du bist jetzt an einem Punkt gelangt, an dem du aufhören solltest Vanilla JavaScript zu schreiben. Das bedeutet ohne Framework. Gerade die Funktion getElementByID ist nicht Cross-Browser kompartibel. Du solltest die jetzt jQuery anschauen. Das macht die DOM-Manipulation sehr einfach, und funktioniert garantiert in jedem Browser.
    immer ans Backup denken!
    _________________________________

    Blutschwerter.de - Das Rollenspielportal für Pen&Paper

  9. #9
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Naja .. ich will ja nichts besonderes, und der Link ist nur komplett auf Englisch - ausser Download habe ich da nichts übersetzen können. Wenn ich jetzt noch Englisch lernen muss um 25 Punkte darzustellen ...
    Werde dieses Javascript wahrsch. auch nie wieder brauchen - und ehrlich gesagt ist mir das auch zu umständlich/kompliziert. Schade dass PHP da nicht mitspielt.

    Bin aber schon sehr nah an der Lösung. Was mir nur auffällt - die Skripts werden gleichzeitig abgearbeitet. Bedeutet das ich eine Pause einbauen muss. Problem dabei - die Zeitschleife vom ersten Skript wird ignoriert, das alleine aber so gut arbeitet.
    Mir fehlen jetzt also nur noch 2 Dinge:

    1. Was muss ich ändern, dass mir dort ein Punkt in der Ausgabe erscheint, statt Zahlen?
    2. Wie bekomme ich es hin, dass ZUERST die erste Schleife abgearbeitet wird - und DANN erst die "Speicherzählung"?

    Hier mal mein jetziger Code:

    HTML-Code:
    <span id="punkt">0</span><br /><br />
    
    <script type="text/javascript">
    var punkte = 0;
    var ende = 20;
    var millisekunden = 1000;
    
    function punktezaehlen()
    {
        if(punkte <= ende) {
              document.getElementById("punkt").innerHTML = punkte;
              t = setTimeout('punktezaehlen()', millisekunden);
            punkte++;
        }
    }
    punktezaehlen();
    
    </script>
    
    
    <div id="zahl">0</div>
    
    <script type="text/javascript">
    var Zaehler = 0;
    var Ende = 4096;
    var millisekunden = 25;
    
    function Zaehlen()
    {
        if(Zaehler <= Ende) {
              document.getElementById("zahl").innerHTML = Zaehler;
              t = setTimeout('Zaehlen()', millisekunden);
            Zaehler+=16;
        }
    }
    Zaehlen();
    </script>
    Liebe Grüsse:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  10. #10
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    So klappt es - mit viel bastelei - jetzt mit den Zeiten. Hatte noch 2 Fehler drin - und die skripte einfach mal zusammengelegt.

    HTML-Code:
    <span id="punkt">0</span><br /><br />
    <div id="zahl">0</div>
    
    
    <script type="text/javascript">
    var punkte = 0;
    var punktende = 20;
    var punktmillisekunden = 500;
    
    function punktezaehlen()
    {
        if(punkte <= punktende) {
              document.getElementById("punkt").innerHTML = punkte;
              t = setTimeout('punktezaehlen()', punktmillisekunden);
            punkte++;
        }
    }
    punktezaehlen();
    
    
    
    
    var Zaehler = 0;
    var Ende = 4194304;
    var millisekunden = 25;
    
    function Zaehlen()
    {
        if(Zaehler <= Ende) {
              document.getElementById("zahl").innerHTML = Zaehler;
              t = setTimeout('Zaehlen()', millisekunden);
            Zaehler+=16384;
        }
    }
    setTimeout("Zaehlen()",8000);
    </script>

    Jetzt fehlt nur noch die Ausgabe eines PUNKTES in der ersten Schleife....

    Liebe Grüsse:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  11. #11
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Ok, habe es selber hinbekommen. 15 Div und 15x rein schreiben lassen ... halt ohne Schleife und viel Text - anders war es nicht möglich - aber so geht es.

    Liebe Grüsse:
    Tammy

    Übrigens:
    Die Token Meldung hier im Forum nervt. Ist das ein neuer Bug? Ich muss mich komplett abmelden und dann neu anmelden um hier schreiben zu können wenn
    ich längere Zeit auf der Seite war....

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

  12. #12
    vB-Guru
    Registriert seit
    20.12.2001
    Ort
    MS-Land
    Alter
    40
    Beiträge
    3.372
    Blog-Einträge
    5
    Die Token Meldung kommt, wenn die Seite mit der du die Antwort abschickst zu lange offen war. Ist in jedem vB so. Ist Sicherheitstechnik.
    immer ans Backup denken!
    _________________________________

    Blutschwerter.de - Das Rollenspielportal für Pen&Paper

  13. #13
    vB-Experte Avatar von Tamara-Jasmin
    Registriert seit
    21.06.2010
    Ort
    Berchtesgaden
    Beiträge
    673
    Hoffi ...

    (immer ans Backup denken!)

    mache das immer wenn ich Deinen Footer lese ... bitte mehr Beiträge von Dir *lach

    Liebe Grüsse:
    Tammy

    Ein Hund ist treu - ein Hund ist ehrlich -
    der Mensch dagegen sehr beschwerlich
    (Tamara-Jasmin 04.2011 - www.woistwaslosindeutschland.de)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Inhalt forenabhängig - if-Schleife
    Von Master-X im Forum vBulletin 3.7 Fragen und Probleme
    Antworten: 3
    Letzter Beitrag: 05.10.2008, 12:00
  2. Möchte gerne eine schleife abarbeiten
    Von René Kunze im Forum PHP-Programmierung
    Antworten: 3
    Letzter Beitrag: 25.03.2008, 14:43
  3. Login-Schleife im ACP und ModCP
    Von BadTBird im Forum vBulletin 3.0 Fragen und Probleme
    Antworten: 3
    Letzter Beitrag: 19.01.2005, 20:22
  4. Normale Installation. Schleife nach KD.Nr.
    Von Ben-Galef im Forum vBulletin 3.0 Fragen und Probleme
    Antworten: 3
    Letzter Beitrag: 23.05.2004, 22:32
  5. Problem mit Schleife und Eintrag in DB
    Von daFish im Forum PHP-Programmierung
    Antworten: 5
    Letzter Beitrag: 06.02.2004, 14:11

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •