Ergebnis 1 bis 4 von 4
  1. #1
    gogopf ist offline Grünschnabel
    registriert
    28-02-2017
    Beiträge
    3

    memory zum zweiten

    scriptschnipsel soll folgendes machen.

    1. Klick auf erste Karte: Karte wird aufgedeckt
    2. Klick auf zweite Karte: karte wird aufgedeckt
    3. je nachdem ob karten übereinstimmen oder nicht, werden Funktionen aufgerufen mit denen die Karten nach einer wartezeit von 2 sec. entweder "zurück gedreht" oder durch eine 1x1 px Grafik ersetzt.

    Problem ist, ohne die Funktionen zum zurückdrehen, lassen sich die Karten aus Schritt 1 und 2 aufdecken. Mit den Funktionen lässt sich die zweite Karte nicht "umdrehen", aber die Funktionen zum zurückdrehen werden nach 2 sec. ausgeführt.

    Also ich finde keinen Fehler, eventuell ein logischer Fehler. Warum wird die zweite Karte nicht aufgedeckt?

    HTML-Code:
    <script type="text/javascript">
    var x=0;
    var Karte1;
    var Karte2;
    var zelle;
    var zellenr1="";
    var zellenr2="";
    
    function sleep(milliseconds) {
      var start = new Date().getTime();
      for (var i = 0; i < 1e7; i++) {
        if ((new Date().getTime() - start) > milliseconds){
          break;
        }
      }
    }
    
    function kartenweglegen (zelle1,zelle2) { //beide geöffneten Karten sind gleich 
        var seite = "http://forum.jswelt.de/images/pix.png";
    	$(zelle1).attr("src", seite).attr("width", "1px").attr("height", "1px");
    	$(zelle2).attr("src", seite).attr("width", "1px").attr("height", "1px");
    }
    
    function kartenzurueckdrehen (zelle1,zelle2) { //beide Karten sind nicht gleich und die karten werden zurückgedreht
    	var seite = "memoryback.jpg";
    	$(zelle1).attr("src", seite);
    	$(zelle2).attr("src", seite);		
    }
    
    function funktionenoeffnen(kartennummer,zellennr) {
    	zelle = "#zelle"+zellennr;
    	
    	var seite = "http://forum.jswelt.de/images/deck/gemischt/"+kartennummer+".jpg";
    	$(zelle).attr("src", seite);  // Karte aufdecken
    	
    	if (zellenr1 == "") { zellenr1=zelle; var zx=0 }
    	if (zellenr1 != "") zellenr2=zelle;
      
    	
    	if (x==0) { Karte1=kartennummer; }
    	if (x==1) { Karte2=kartennummer; }
    	
    	x++;
    	
      	if (x>=2) {
      	  	if (Karte1==Karte2) { //beide geöffneten Karten sind gleich 
      			sleep(2000);
      			kartenweglegen (zellenr1,zellenr2);
      		}
      		else { //beide Karten sind nicht gleich
      			sleep(2000);
      			kartenzurueckdrehen (zellenr1,zellenr2);
      		}
      	}
    	
      
      //$('#example-placeholder').html('<p><img src="loader.gif" /></p>');
      //$('#example-placeholder').load(seite);
    }
    </script>
    Geändert von mikdoe (03-03-2017 um 15:06 Uhr) Grund: Code Tags, Titel und verschoben

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.596

    AW: memory zum zweiten

    * freigeschaltet, code tags, verschoben und titel *
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.650

    AW: memory zum zweiten

    Zitat Zitat von gogopf Beitrag anzeigen
    sleep
    Das darfst du so auf keinen Fall machen! Damit blockierst du den kompletten Browser. Du musst da mit window.setTimeout() arbeiten.

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.596

    AW: memory zum zweiten

    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

Ähnliche Themen

  1. User-Ränge zum zweiten
    Von kasimir83 im Forum Smalltalk
    Antworten: 30
    Letzter Beitrag: 16-05-2004, 15:44
  2. dreamdiver.ch zum Zweiten
    Von Julien im Forum Site-Check
    Antworten: 3
    Letzter Beitrag: 06-07-2003, 14:32
  3. nuke zum zweiten:)
    Von maco im Forum Site-Check
    Antworten: 13
    Letzter Beitrag: 05-02-2003, 21:16
  4. OnMouseOverProblem zum Zweiten BITTE HELFT MIR
    Von THEXUL im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 23-07-2001, 12:08

Stichworte

Lesezeichen

Berechtigungen

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