Ergebnis 1 bis 8 von 8
  1. #1
    Bluescreen ist offline Jungspund
    registriert
    24-06-2011
    Ort
    Frenkendorf
    Beiträge
    14

    AW: Skript funktioniert nur mit alert

    Da ich ein ähnliches problem habe welches warscheinlich womöglich eine etwas andere Ursache, schreib ich einfach mal hier mein Senf dazu um nicht extra ein neuse Topic zu eröffnen.

    Auch ich habe das Problem das gewisse operationen erst ausgeführt werden, wenn ein alert(); in den code an einer bestimmten stelle gepappt wird um einen Unterbruch zu erreichen.
    In diesem Auschnitt des Codes welche ich gepostet habe(ich hab jetzt mal ne andere Formatierung als mein Vorgänger genommen, weiss aber nicht ob "Code" die richtige Wahl darstellen soll^^)
    werden "dynamische" DIVs erstellt welche ein bestimmtes Bild zugewiesen bekommen. Gewisse Definitionen müssen Zufällig getroffen werden, deshalb die zwei zufallsgeneratoren.

    Wie ihr anhand der namensgebungen des bildes usw. sehen könnt handelt es sich dabei um Wolken :-). Damit diese Wolken bewegt werden, habe ich eine CSS3 anweisung benötigt welche eine sehr Feine Verschiebung der Wolke ermöglicht. Diese wird über den zugewiesenen Klassenname deklariert.

    Alles funktioniert so wie gedacht, jedoch nur beim traurigen einsatz eines alert();
    Die Alertanweisung befindet sich in der mitte des geposteten Codes. "alert('asdf');

    Übrigens wenn ich "alert('asdf');" weglasse und im Firebug die zuweisungen überprüfe sind, die gewünsten Objekte mit allen Zuweisungen erstellt worden.

    (mit dem unterschied das sie im FF nicht sichtbar sind und nicht bewegen, im gegensatz zum Chrome werden sie sichtbar dargestellt und auch nicht verschoben).
    Ich hoffe das ich mich verständlich geäussert habe^^.



    Code:
    var bild_prefix = 1 + 10*(Math.random());
          bild_prefix = Math.round(bild_prefix);    
          var wolke_div = document.createElement("div"); 
          var Div_spielfeld = document.getElementById("spielfeld_verschieben");
          wolke_div.id='wolke_id'+wolken_id_counter;
          Div_spielfeld.appendChild(wolke_div);  
          alert('adsf');
          var breite = 1 + 2000*(Math.random());
          breite = Math.round(breite);  
          document.getElementById('wolke_id'+wolken_id_counter).style.position="absolute";  
          document.getElementById('wolke_id'+wolken_id_counter).style.top="-800px";
          document.getElementById('wolke_id'+wolken_id_counter).style.left=breite+"px";
          document.getElementById('wolke_id'+wolken_id_counter).style.height="400px";    
          document.getElementById('wolke_id'+wolken_id_counter).style.width="300px"; 
          document.getElementById('wolke_id'+wolken_id_counter).setAttribute("onClick","onclickwolke()","false");
          //Div_wolke.style.backgroundImage='url(bilder/texturen/wolke_'+bild_prefix+'.png)';
          document.getElementById('wolke_id'+wolken_id_counter).style.backgroundImage='url(bilder/texturen/wolke.png)';
          document.getElementById('wolke_id'+wolken_id_counter).className = "wolke_verschieben";
          wolken_id_counter++;
    Edit:Formatierung ist auch nicht das wahre, aber ich denke das es gehen sollte, da es ja nicht so viel ist

  2. #2
    Avatar von Albu
    Albu ist offline Foren-Gott
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: Skript funktioniert nur mit alert

    Zitat Zitat von Bluescreen Beitrag anzeigen
    Da ich ein ähnliches problem habe welches warscheinlich womöglich eine etwas andere Ursache, schreib ich einfach mal hier mein Senf dazu um nicht extra ein neuse Topic zu eröffnen.
    Dein Problem hat eine andere Ursache und bedarf anderer Lösungsansätze, als das Ajax Problem Deines Mitstreiters aus dem Ursprungs-Thread. Also: Split.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    Bluescreen ist offline Jungspund
    registriert
    24-06-2011
    Ort
    Frenkendorf
    Beiträge
    14

    AW: Skript funktioniert nur mit alert

    Zitat Zitat von Albu Beitrag anzeigen
    Dein Problem hat eine andere Ursache und bedarf anderer Lösungsansätze...
    mh... :-) du scheinst über das Wissen für das Beseit meines Problems zu verfügen^^ ist es irgentwie möglich jenes zu entlocken?
    Dank dir

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

    AW: Skript funktioniert nur mit alert

    Hast du einen Testlink? Ich kann das Problem gerade nicht nachvollziehen.

  5. #5
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Skript funktioniert nur mit alert

    Wenn du das alert() wegläßt, gibt es dann eine Fehlermeldung in der Fehlerkonsole? (Nicht Firebug!!!)

    Deine Code ist darüber hinaus sehr umständlich. Die ID wäre nicht nötig, da direkt auf das Element zugreifen kannst.
    Code:
    var breite = 1 + 2000*(Math.random());
    breite = Math.round(breite);  
    var style = wolke_div.style;
    style.position="absolute";  
    style.top="-800px";
    style.left=breite+"px";
    style.height="400px";    
    style.width="300px"; 
    style.backgroundImage='url(bilder/texturen/wolke.png)';
    wolke_div.className = "wolke_verschieben";
    wolke_div.onclick = onclickwolke;

  6. #6
    Bluescreen ist offline Jungspund
    registriert
    24-06-2011
    Ort
    Frenkendorf
    Beiträge
    14

    AW: Skript funktioniert nur mit alert

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Wenn du das alert() wegläßt, gibt es dann eine Fehlermeldung in der Fehlerkonsole? (Nicht Firebug!!!)
    Ich hab das Problem mit einem Workaround, beseitigt.
    nagut... mich nimts halt wunder, habs nochmals so wiederhergestellt wie ich es hatte, den das Problem ist ja noch nicht gelöst...
    Das erstaunliche ist, er bringt keinen Fehler!!! (weder Fehlerkonsole noch Firebug).
    Das Element wird einfach nicht angezeigt, aber laut HTML-Baum ist es im Firebug vorhanden.

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Deine Code ist darüber hinaus sehr umständlich. Die ID wäre nicht nötig, da direkt auf das Element zugreifen kannst.
    Da hast du allerdings recht, habs mit freuden angepasst :-).

    Das Problem lag an der Klassenzuweisung. Ich habe die Klassenzuweisung in Funktion "wolke_verschieben()" gesetzt.
    Die Funktion "wolke_verschieben()" darf aber auch nit mit setTimeout('wolke_verschieben',zeit); aufgerufen werden, das es auch nicht funktioniert... weiss auch nicht warum.
    Die Funktion "wolke_verschieben()" wird jetzt von einer dritten Anderen Funktion ausgeführt. erst dan funktioniert es... gott oder du weisst warum^^.

    Hier nochmals der aktuelle Code.
    Code:
    function wolken(){    
      if(wolken_aktiviert){    
        if(wolken_id_counter<=10){
          if(document.getElementById('wolke_id'+wolken_id_counter)){       
            document.getElementById('wolke_id'+wolken_id_counter).className = "wolke_stoppen";
            wolken_id_counter++;
          }else{
            var bild_prefix = zufallszahl(1,10); 
            var Div_spielfeld = document.getElementById("spielfeld_verschieben");
            var wolke_div = document.createElement("div"); 
            wolke_div.id='wolke_id'+wolken_id_counter;
            Div_spielfeld.appendChild(wolke_div);  
            var style = wolke_div.style;
            var seite = zufallszahl(1,2500); 
                   
            style.position="absolute";  
            style.top="-"+(600+auflosung[bild_prefix]['hohe'])+"px";
            style.left=seite+"px";
            style.height= auflosung[bild_prefix]['hohe']+"px"; 
            style.width= auflosung[bild_prefix]['breite']+"px";
            wolke_div.onclick = onclickwolke;
            style.backgroundImage='url(bilder/texturen/wolke_'+bild_prefix+'.png)';
            wolken_id_counter++;
          }
        }else{    
          wolken_id_counter = 1;  
        }
        setTimeout('wolken()',20000);
      }
    }
    function wolke_verschieben(){
      var counter=0;
      while(wolken_id_counter > counter){
        if(document.getElementById('wolke_id'+counter))document.getElementById('wolke_id'+counter).className = "wolke_verschieben";
        counter++;
      }
    }

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

    AW: Skript funktioniert nur mit alert

    Mich würde das echt interessieren, was da falsch läuft - BITTE TESTLINK.

  8. #8
    Bluescreen ist offline Jungspund
    registriert
    24-06-2011
    Ort
    Frenkendorf
    Beiträge
    14

    AW: Skript funktioniert nur mit alert

    ich bin zur zeit noch auf der baustelle.

    werde dan:
    - den "korrigierten" fehler rückgängig machen
    - testaccount einrichten
    - und dir ne PN mit näheren informationen zusenden.

    werde erst gegen 22:00 richtig zeit finden.

Ähnliche Themen

  1. Skript funktioniert nur mit alert
    Von WilliT im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 25-06-2011, 15:10
  2. alert funktioniert nicht mit firefox
    Von aldra13 im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 12-03-2010, 02:20
  3. Antworten: 6
    Letzter Beitrag: 22-09-2009, 23:45
  4. Antworten: 1
    Letzter Beitrag: 10-03-2009, 18:42
  5. array vergleich funktioniert nicht, alert aber
    Von djmj im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 30-05-2008, 19:21

Lesezeichen

Berechtigungen

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