Kurt: Funktionsaufruf

Guten Tag

Versuche bei meiner Lernanwendung nach einer gewissen Zeit automatisch eine neue Aufgabe ausgeben zu lassen: http://php.educanet2.ch/steffisburg/Zahlenstrahl/
Das funktioniert aber leider nicht: erhalte Uncaught ReferenceError: newjob is not defined

  
YUI({  
    filter: 'raw'  
}).use('slider',function (Y) {  
  
// ...var report = Y.one('#report');  
  
//Useraktionen auswerten und Feedback anzeigen  
Y.one('#checkbutton').on('click', checkresult); //modifizierter Funktionsaufruf  
  
function checkresult() {  
	if(AufgabenSetII == false) {  
		if(Math.abs(Zufallszahl - s.get('value')) < Zahlenraum * Toleranz / 200) {  
			FeedbackRichtig();  
			document.getElementById("userinput").innerHTML = "Gut! Du hast "+s.get('value')+ " eingestellt.";  
			if(NeueAufgabe == true) {  
				AnzahlAufgaben++;  
				zaehler++;  
				setTimeout("newjob()",2000);  
			}  
			NeueAufgabe = false;  
			if(zaehler == 5) {  
				AufgabenSetII = true;  
				zaehler = 0;  
				document.getElementById("blende").style.display = "block";  
			}  
		}else{  
			FeedbackFalsch();  
			LoesungsVersuche++;  
			document.getElementById("skala").style.display = "";  
		}  
	}else{  
		if(Math.abs(Zufallszahl - document.getElementById("input").value) < Zahlenraum * Toleranz / 200) {  
			FeedbackRichtig();  
			document.getElementById("userinput").innerHTML = "Gut! Du Zahl war "+Zufallszahl+ ".";  
			if(NeueAufgabe == true) {  
				AnzahlAufgaben++;  
				zaehler++;  
			}  
			NeueAufgabe = false;  
			if(zaehler == 5) {  
				AufgabenSetII = false;  
				zaehler = 0;  
			}  
		}else{  
			FeedbackFalsch();  
			LoesungsVersuche++;  
			document.getElementById("skala").style.display = "";  
		}	  
	}  
}  
  
//Neue Aufgabe erstellen und laden  
Y.one('#newjobbutton').on('click', newjob); //modifizierter Funktionsaufruf  
	  
function newjob() {	  
	NeueAufgabe = true;  
	if(AufgabenSetII == false) {  
		if(AnzahlAufgaben == 10) {  
				alert("Jetzt hast du 10 Aufgaben richtig gelöst. Nun geht es wieder von vorne los.");  
		}  
		FeedbackNone();  
		document.getElementById("userinput").innerHTML = "";  
		document.getElementById("input").style.display = "none";  
		document.getElementById("zahl").style.display = "block";  
		document.getElementById("skala").style.display = "none";  
		document.getElementById("blende").style.display = "none";  
		s.set('value', Zahlenraum*0.5);  
		Zufallszahl = Math.floor(Math.random()*Zahlenraum);  
		document.getElementById("zahl").innerHTML = Zufallszahl;  
	}else{  
		document.getElementById("input").style.display = "";  
		document.getElementById("zahl").style.display = "none";  
		FeedbackNone();  
		document.getElementById("userinput").innerHTML = "";  
		document.getElementById("skala").style.display = "none";  
		Zufallszahl = Math.floor(Math.random()*Zahlenraum);  
		document.getElementById("input").value = "?";  
		if(AnzahlAufgaben == 5) {  
			help();  
		}  
		document.getElementById("input").focus();  
		s.set('value', Zufallszahl);  
	}  
};  
// ...  
});  

Was muss ich tun, damit ich diese Funktion trotzdem aufrufen kann?

Kurt

  1. Hi,

    Das funktioniert aber leider nicht: erhalte Uncaught ReferenceError: newjob is not defined

    ich vermute mal, dass Du diese Funktion unter der URL "javascript:void(0)" nicht zur Verfügung gestellt hast. Tue das entweder (und verrate mir anschließend bitte, wie das geht), oder rufe nicht diese URL auf.

    Der letzte Satz hat seine Betonung übrigens auf "rufe nicht auf", nicht auf "diese URL".

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah

      ich vermute mal, dass Du diese Funktion unter der URL "javascript:void(0)" nicht zur Verfügung gestellt hast.

      Hm sorry, damit kann ich leider nichts anfangen. Was muss ich tun?

      Kurt

      1. Hi,

        ich vermute mal, dass Du diese Funktion unter der URL "javascript:void(0)" nicht zur Verfügung gestellt hast.
        Hm sorry, damit kann ich leider nichts anfangen. Was muss ich tun?

        wenn Du keine Ressource verlinkst (also kurz und falsch gesagt möchtest, dass der Besucher eine andere Seite bekommt, wenn er auf das Element klickt), dann benutze kein <a>-Element.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah

          dass der Besucher eine andere Seite bekommt, wenn er auf das Element klickt),

          Nein, ich will keine neue Seite laden. Das Script funktionierte bis jetzt eigentlich gut. http://php.educanet2.ch/steffisburg/Zahlenstrahl/ Via Buttons konnte ich die Aufgaben überprüfen und neue generieren. Damit aber das Handlich besser wird, wollte ich die Funktion newjob() nach einer gewissen Zeit aufrufen. Das scheint aber nicht zu gehen. Die Frage ist nun, wie bringe ich die Funktion an einen Ort, wo sie aufrufbar wird, aber trotzdem noch verbunden mit der YUI Library bleibt.
          Du hast schon lange bemerkt, dass ich ein ziemlicher Anfänger bin. ;-)

          Kurt

          1. OK, das Problem ist gelöst.

            Ich habe die Funktion newjob() ans Ende des Script-Blockes verschoben und die Variable s vor dem YUI initialisiert. Jetzt geht es! Trotzdem danke.

            Kurt