Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2009, 00:47   #1 (permalink)
Neuer User
 
Benutzerbild von Bexsta
 
Registriert seit: Oct 2006
Beiträge: 140
array is nicht mehr erreichbar

hallo flashforum-user,

ich wende mich an euch, da ich nicht mher weiter weiß!
der moderator aus dem jswelt-forum konnte auch nicht finden, warum es sich so verhält!

testlink > specials > tarotspiel

opentarot wird nach betätigen des buttons "jetzt starten" aufegrufen!

das problem:
in opentarot wird ein array "sorted" mit zahlen von 0 -77 befüllt danach wird es random in array mixed gemischt. wenn eine karte angeklickt wird müßte eigendlich die entsprechende mixed-index zahl in ein neuen array übertragen werden um am ende die zufällig gemischten karten die ausgewählt wurden in savein zu haben! leider kommt ich innerhalb der onklick und onmouseover events nicht mehr an die arrays herran, bzw die array sind da aber ohne inhalt!

PHP-Code:
// JavaScript Document

var imgloader        = new Image ();
var 
imgexit            = new Image();
var 
imgtdeck        = new Image();
var 
imgcardon        = new Image();
var 
imgcardover        = new Image();
var 
imgcardout        = new Image();

function 
imgload(){
        
        
imgloader.src         'img/loader.gif';
        
imgexit.src            'img/btnexit_on.jpg';
        
imgtdeck.src        'img/background.jpg';
        
imgcardon.src        'img/backsite.jpg';
        
imgcardover.src        'img/backsiteover';
        
imgcardout.src        'img/backsiteout';
        
}

var 
sorted        =     new Array();;
var 
mixed        =     new Array();
var 
savein        =     new Array();

var 
selectnum    0;



function 
opentarot(){
        
        var 
nuindex     0;
        
        for (
i=0;i<78;i++){
            
                
sorted[i] = i;
        }
        
        while(
nuindex sorted.length-1){
            
                var 
rzahl Math.round(Math.random()*78);
                
                if (
sorted[rzahl] != "empty"){
                
                        
mixed[nuindex] = rzahl;
                
                        
sorted[rzahl] = "empty";
                
                        
nuindex++;
            
                }
            
        }
        
        
tarotbody         parent.document.getElementById('tarotgame');
        
        
tarotbody.style.backgroundColor     'white';
        
tarotbody.style.width                 '900px';
        
tarotbody.style.height                 '1030px';
        
tarotbody.style.left                 '50%';
        
tarotbody.style.top                 '200';
        
tarotbody.style.marginLeft             '-450px';
        
tarotbody.style.visibility            'visible';
                
        
i=0;
        
openloader();
        
}

function 
openloader(){
        
        var 
timer_id    0;
                
        if (
imgloader.complete){

                
tarotbody.innerHTML                 '<div id="tloader"></div><div id="tdeck"></div><div id="tcards"></div><div id="eingabe"></div>';
                
                
tloader                             parent.document.getElementById('tloader');
                
tdeck                                 parent.document.getElementById('tdeck');
                
tcards                                 parent.document.getElementById('tcards');
                
                
tdeck.style.visibility                'hidden';
                
tcards.style.visibility                'hidden';
                
                
tloader.innerHTML                    '<img src='+imgloader.src+' name="tloader">';
                
                
tloader.style.position                 'absolute';
                
tloader.style.left                    '337.5px';
                
tloader.style.top                    '250px';
                
tloader.style.width                 '225px';
                
tloader.style.height                 '143px';
                
tloader.style.visibility            'visible';
                
tloader.style.zIndex                '2';

                
i=0;
                        
                
completetdeck(timer_id);
    
        } else {
                    
                
tarotbody.innerHTML            '<p style="margin-top:370px;color:#666" align="center">Ein kleinen Augenblick bitte..</p>';    
                    
                
timer_id setInterval('openloader',100);
                
                
        }
}

function 
completetdeck(timer_id){
    
        
clearInterval(timer_id);
        
        if (
imgtdeck.complete){    
                
                
opentdeck();

        } else {
                            
                
tloaderout();
        }
}

function 
opentdeck(){                
                            
        
tdeck.style.position        'absolute';
        
tdeck.style.width            '888px';
        
tdeck.style.height            '748px';
        
tdeck.style.left            '-30px';
        
tdeck.style.zIndex            '3';
            
        
tdeck.innerHTML                '<img src='+imgtdeck.src+' name="tdeck">';

        
tcards.style.position        'absolute';
        
tcards.style.width            '888px';
        
tcards.style.height            '748px';
        
tcards.style.left            '-29px';
        
tcards.style.zIndex            '4';
        
        
tcards.innerHTML                '<div id="tarot1" ><img name="karte1" alt="" src="" onMouseOver="mausover(0);" onMouseOut="mausout(0);" onClick="mausclick(0);" ></div><div id="tarot2"><img name="karte2" alt="" src="" onMouseOver="mausover(1);" onMouseOut="mausout(1);" onClick="mausclick(1);" ></div><div id="tarot3"><img name="karte3" alt="" src="" onMouseOver="mausover(2);" onMouseOut="mausout(2);" onClick="mausclick(2);" ></div><div id="tarot4"><img name="karte4" alt="" src="" onMouseOver="mausover(3);" onMouseOut="mausout(3);" onClick="mausclick(3);" ></div><div id="tarot5"><img alt="" src="" onMouseOver="mausover(4);" onMouseOut="mausout(4);" onClick="mausclick(4);"></div><div id="tarot6"><img alt="" src="" onMouseOver="mausover(5);" onMouseOut="mausout(5);" onClick="mausclick(5);"></div><div id="tarot7"><img alt="" src="" onMouseOver="mausover(6);" onMouseOut="mausout(6);" onClick="mausclick(6);"></div><div id="tarot8"><img alt="" src="" onMouseOver="mausover(7);" onMouseOut="mausout(7);" onClick="mausclick(7);"></div><div id="tarot9"><img alt="" src="" onMouseOver="mausover(8);" onMouseOut="mausout(8);" onClick="mausclick(8);"></div><div id="tarot10"><img alt="" src="" onMouseOver="mausover(9);" onMouseOut="mausout(9);" onClick="mausclick(9);"></div><div id="tarot11"><img alt="" src="" onMouseOver="mausover(10);" onMouseOut="mausout(10);" onClick="mausclick(10);"></div>............gekürzt.........<div id="exit"><img src="img/btnexit_on.jpg" onClick="beenden();" name="exit"></div>';
                            
        for (
i=1;i<79;i++){

                
parent.document.images[i+1].src                 'tarot/img/backsite.jpg';
                
parent.document.images[i+1].status                 'on';

        }
        
        
parent.document.images[80].src  'tarot/img/btnexit_on.jpg';

        
tdeck.style.visibility            'visible';
        
tcards.style.visibility            'visible';
        
tloader.style.visibility        'hidden';
        
        
tloader.innerHTML                '';
}



//----------------------------------------------------
// MOUSEEVENTS UND SPEICHERN DR AUSWAHL 
//----------------------------------------------------

function mausover(num){
        
    if (
parent.document.images[num+1].status == 'on'){
        
                
parent.document.images[num+1].src 'tarot/img/backsiteover.jpg';
                
    }
}

function 
mausout(num){

    if (
parent.document.images[num+1].status == 'on'){
        
                
parent.document.images[num+1].src 'tarot/img/backsite.jpg';
    }
}



function 
mausclick(num){
            
            if (
savein.length 38 && parent.document.images[num+1].status != 'out'){
            
                        
parent.document.images[num+1].src 'tarot/img/backsiteout.jpg';
                    
                        
parent.document.images[num+1].status 'out';
                    
                        
savein[selectnum] = mixed[num]; 
                    
                        
selectnum++;
                        
                                    
alert(savein);
                                    
                        if (
selectnum == 38 ){
                            
                                        
window.alert("Sie haben Ihre Wahl getroffen. Wir werden Ihr Ergebnis speichern und für Sie auswerten.\n Bitte melden Sie sich in kurzer Zeit bei uns, um Ihr Ergebnis mitgeteilt zu bekommen.");    

                        }
            }
}

function 
beenden(){

                
sorted                =    new Array();
                
mixed                =    new Array();
                
savein                =    new Array();
                
selectnum            =     0;
                
                        
parent.document.getElementById('tarotgame').style.visibility     'hidden';
                        
parent.document.getElementById('tarotgame').innerHTML            '';


Vielleicht kan jemand von euch erkennen warum die array weg oder nicht mehr vollständig erreichbar sind!

Aso..2 anmerkungen noch:

- die seite ist nicht von mir!!!
- bin für verbesserungsvorschläge dankbar
__________________
Friedrichshagen

Geändert von Bexsta (16-12-2009 um 00:52 Uhr)
Bexsta ist offline   Mit Zitat antworten
Alt 16-12-2009, 01:59   #2 (permalink)
Neuer User
 
Benutzerbild von RAMSEI
 
Registriert seit: Oct 2001
Ort: Bayreuth
Beiträge: 455
schau mal über überhaupt das Array befüllt wird... ich hab hier firebug
und wenn ich das spiel starte sollte doch wenigstens sorted befüllt werden .. aber bei mir bleiben alle arrays [] leer ...
__________________
Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
RAMSEI ist offline   Mit Zitat antworten
Alt 16-12-2009, 03:05   #3 (permalink)
Neuer User
 
Benutzerbild von Bexsta
 
Registriert seit: Oct 2006
Beiträge: 140
sorted und mixed sind am ende der funktion "opentdeck()" noch gefüllt!!!

testlink
> specials > tarotspiel

sie werden nach dem vollständigen aufbau des spiels ausgegeben!!!

wie und wo konntest du in firebug sehen das die arrays nicth gefüllt sind?

EDITk habs gefunden aber warum sind sie dort leer und werden aber vorher noch als gefüllt ausgegeben????
__________________
Friedrichshagen

Geändert von Bexsta (16-12-2009 um 03:14 Uhr)
Bexsta ist offline   Mit Zitat antworten
Alt 16-12-2009, 03:29   #4 (permalink)
Neuer User
 
Benutzerbild von RAMSEI
 
Registriert seit: Oct 2001
Ort: Bayreuth
Beiträge: 455
unter DOM kann man es sehen ...
Angehängte Grafiken
Dateityp: png test.png (8,4 KB, 4x aufgerufen)
__________________
Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
RAMSEI ist offline   Mit Zitat antworten
Alt 16-12-2009, 03:42   #5 (permalink)
Neuer User
 
Benutzerbild von RAMSEI
 
Registriert seit: Oct 2001
Ort: Bayreuth
Beiträge: 455
hier nochmal der gesamte screenshot..
Angehängte Grafiken
Dateityp: png test2.png (74,9 KB, 6x aufgerufen)
__________________
Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )
RAMSEI ist offline   Mit Zitat antworten
Alt 16-12-2009, 07:10   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 216
hey,
nimm mal das var weg wenn das nicht funktioniert würde ich es in ein objekt quasi oop schreiben.

Code:
var whatever = {
	imgloader: new Image (),
	imgexit: new Image(),
	imgtdeck: new Image(),
	imgcardon: new Image(),
	imgcardover: new Image(),
	imgcardout: new Image(),
	sorted: new Array(),
	mixed: new Array(),
	savein: new Array(),
	selectnum: 0,
	imgload: function() {
		this.imgloader.src = 'img/loader.gif';
		this.imgexit.src = 'img/btnexit_on.jpg';
		this.imgtdeck.src = 'img/background.jpg';
		this.imgcardon.src = 'img/backsite.jpg';
		this.imgcardover.src = 'img/backsiteover';
		this.imgcardout.src = 'img/backsiteout'; 
	},
	opentarot: function() {
		var nuindex     = 0;
		for ( i = 0; i < 78; i++) {
			sorted[i] = i;
		}
		while ( nuindex < sorted.length - 1 ) {
			var rzahl = Math.round(Math.random()*78);
			if (sorted[rzahl] != "empty"){
				this.mixed[nuindex] = rzahl;
				this.sorted[rzahl] = "empty";
				nuindex++;
			}
		}
		tarotbody = parent.document.getElementById('tarotgame');
		tarotbody.style.backgroundColor = 'white';
		tarotbody.style.width = '900px';
		tarotbody.style.height = '1030px';
		tarotbody.style.left = '50%';
		tarotbody.style.top  = '200';
		tarotbody.style.marginLeft = '-450px';
		tarotbody.style.visibility = 'visible';

		i = 0;
		this.openloader();
	},
	usw...
}
Ist erstens Übersichtlicher und 2 hat man alles schön in ein Objekt.

Mit freundlichen Grüßen

Cas
CaselPasel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
website laco tween nicht mehr erreichbar derrabe ActionScript 2 1 18-05-2007 21:05
my sql server nicht mehr erreichbar... Muh_Lan PHP und MySQL 1 05-12-2005 16:18
mysql,shop und IIS verstehen sich nicht; DB nicht erreichbar it-neues.de PHP und MySQL 1 06-03-2004 09:31
Provider nicht erreichbar? Brigitte Am Rande 7 13-08-2003 14:57
forum war nicht erreichbar twoke Fragen, Konstruktive Kritik, Lob 6 18-04-2003 18:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele