JS if Bedingung .... was ganz simples bestimmt

Rain

Lieutenant
Registriert
Mai 2003
Beiträge
704
Hi, bin grad dabei mich bissel in Java reinzufitzen und hab nicht wirklich viel Ahnung. Hab bis jetzt eigentlich alles selber rausgefunden aber nun bin ich an ner Stelle wo ich verzweifel, was aber sicherlich recht simpel ist. Also, ganz einfach: Eine Zahl soll gewürfelt werden und wenns ne 1 ist, soll ein Bild angezeigt werden. Ich hab mir das ja schon in etwa so gedacht:

Code:
var i = Math.round( Math.random() * 10);
document.write(i);

if (i = 1) 
document.write('<img src="game1/01.jpg" alt="eins">');

Das Würfeln klappt wunderbar (bin ich vllt stolz auf mich), nur zeigt er so wie ich es geschrieben hab immer bei jeder Zahl das Bild an :(

Wenn ich nur
Code:
'<img src="game1/01.jpg" alt="eins">'

geht das würfeln zwar auch noch, aber er zeigt kein Bild an >< Also, hat jemand nen Vorschlag für mich?
 
Kuck dir mal die Javascript Prototype Library an.

Dort gibt es eine Funktion String.prototype.pad = function(l, s, t) an.

Dort kannst du wie folgt Strings wie in PHP bequem padden:

Code:
var s = "Jonas";
document.write(
  s, " => ", s.pad(20, "[]", 0), "<br />",
  s, " => ", s.pad(20, "[====]", 1), "<br />",
  s, " => ", s.pad(20, "~", 2)
);
 
Ok, jeglicher Versuch das jetzt zu verstehen ist kläglich gescheitert. :freak:
 
Ein ganz Dicker Fehler in der IF.:

Code:
var i = Math.round( Math.random() * 10);
document.write(i);

if (i [COLOR="Red"]==[/COLOR] 1) 
document.write('<img src="game1/01.jpg" alt="eins">');
 
Das klingt aber ehrlich nen bissl kompliziert...
Also Rain, ich denke mal das ist schon der richtige Ansatz.. in PHP würd ichs so machen.

/edit
Andy war schneller als ich mit meiner Antwort!
 
Zuletzt bearbeitet: (:D)
Andy :schluck:

Danke!

So klappt es und ich bin wieder etwas schlauer :)
 
mobbY2010 schrieb:
Das klingt aber ehrlich nen bissl kompliziert...
Also Rain, ich denke mal das ist schon der richtige Ansatz.. in PHP würd ichs so machen.

/edit
Andy war schneller als ich mit meiner Antwort!

Jo, Erster^^, ne aber Enigma deine Antwort ist echt bissl hart, vor allem für ein ziemlich simples Problem mit Java Script.

Gerngeschehn.

Gruß Andy
 
Das ist eine recht simple Lösung, wenn man weis was Padding ist. Padding verlängert einen String mit einer angegebenen Zeichenkette die links oder rechts oder an beiden Seiten solange anhängt wird bis die gewünschte Länge erreicht ist.

Also das Padding würde in seinem Fall folgendes machen:
Hänge "0" solange links an "1" bis die Stringlänge 2 ist.

Wenn man das prinzip mal Verstanden hat, dann will man auf diese Funktion nicht mehr verzichten.

Aber klar - für jedes Problem gibt es mehrere Lösungen :) Meine war nicht die einfachste.
 
Ich hab ja wirklich nen bissl Ahnung davon, aber das was Enigma da geschrieben hat is mir vollkommen fremd! Da blick ich ja noch nicht ma ansatzweise durch (vllt nen bissl)
 
Nachtrag:
Ich seh gerade, dass das Pad NICHT in der Prototype API drin ist :( Aber hier trotzdem kurz nachgereicht was ich genau gemeint hab - kurz zusammengegoogled - also vielleicht funzt es nicht.

Code:
if (i == 1) 
document.write('<img src="game1/01.jpg" alt="eins">');
else if (i == 2) 
document.write('<img src="game1/02.jpg" alt="eins">');
else if (i == 3) 
document.write('<img src="game1/03.jpg" alt="eins">');
...

Der Code mit Padding würde dann so aussehn:
Code:
String.prototype.pad = function(l, s, t){
	return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
		+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
		+ this + s.substr(0, l - t) : this;
};

var s = new String(i);
document.write('<img src="game1/' + s.pad(2,"0",0) + '.jpg" alt="eins">');
 
ja, aber für einen Anfänger ist die erste Lösung sehr viel besser geeignet. Gehört ja zu den Grundlagen.

Aber die Idee ist auch nicht schlecht es so zu lösen.

Gruß Andy
 
danke enigma, dass du dir die mühe machst, aber ich denke ich bleib bei der "einfacherern" version, bin froh dass ich das jetzt so kapiert hab.

Allerdings muss ich euch noch mal was fragen, wo ich hier jetzt mit sachen um mich werfe, von denen ich absolut keine ahnung habe und nur denke, dass sie mir helfen könnten, insofern sie so funktionieren würde wie ich es wollte, also:

Ich erklär am besten mal was ich vor habe. Ich will dass auf meiner HP ein zufälliges Bild angezeigt wird. Das klappt ja schon mal. Nun wäre ich noch an einer IP-Sperre interessiert, damit man nicht durch daueraktualisieren alles zu schnell zu sehen bekommt. Durch google habe ich da auch nen php-code gefunden, der das Richtige zu sein scheint.

Code:
<?php 
  // Speicherung der Daten in einer Datei 
  function schreiben($datei,$mode){ 

    $fp = @fopen($datei,$mode); 
    flock($fp,2); 
    fwrite($fp,$_SERVER["REMOTE_ADDR"]."|".time()."\n"); 
    flock($fp,3); 
    fclose($fp); 

  } 
  function ip_sperre() { 

    // Einstellungen 
    $reloadlogdatei = "reload.txt"; 
    $anzahleintraege = 1000; 
    $zeitlimit = 60; // in Sekunden 

    // Prüft, ob Datei existiert => ansonsten Erstellen 
    if(!file_exists($reloadlogdatei)) { 
      $datei = fopen($reloadlogdatei,"w+"); 
      fclose($datei); 
    } 
    $fp = file($reloadlogdatei); 
    $size = sizeof($fp); 

    // Beschreibt die Datei, wenn Liste voll 
    if($size >= $anzahleintraege){ 
      schreiben($reloadlogdatei,"w"); 
    // Prüft, ob eine IP in der Liste steht 
    } else { 

      for ($i=0;$i<=$size;$i++) { 
        $zeile = explode("|",$fp[$i-1]); 
        // IP wird gefunden 
        if ($zeile[0] == $_SERVER["REMOTE_ADDR"] AND $zeile[1] > (time()-$zeitlimit)){ 
          $ausgabe = true; 
        // IP wird nicht gefunden 
        } else  { 
          $ausgabe = false; 
        } 
      } 
      // Protokolliert die IP-Adresse (schreibt) 
      schreiben($reloadlogdatei,"a+"); 
    } 
    return $ausgabe; 
  } 

  // Hauptaufruf des Programms 
  if(ip_sperre()==false) echo "Zugriff erlaubt"; 
  else echo "IP wurde gefunden"; 

?>

Das scheint so auch zu klappen, nun müsste der JS-Code da irgendwie eingebaut werden und wahscheinlich auch an der Stelle:

Code:
  // Hauptaufruf des Programms 
  if(ip_sperre()==false) echo "Zugriff erlaubt"; 
  else echo "IP wurde gefunden";

also das "echo "Zugriff erlaubt" mit den JS-Code ersetzen. Aber wie sollte es anders sein, es funktioniert natürlich nicht :( Und von php hab ich noch wesentlich weniger Ahnung, eigentlich gar Keine. Kann man den JS-Code irgendwie in den php-Code einbauen!?
 

Ähnliche Themen

Zurück
Oben