Satsu
Cadet 2nd Year
- Registriert
- Juni 2010
- Beiträge
- 18
Hallo,
in einer Schleife addiere ich Werte einer Variable hinzu. Nach dieser Schleife möchte ich den Gesamtwert ausgeben (totalHK). Mein Problem ist, dass totalHK vor der Schleife ausgeführt wird, selbst wenn ich diese Funktion im Return der anderen Funktion (wie es jetzt ist) aufrufe.
Jeglicher console.log Befehl nach der Schleife wird auch zuerst ausgeführt.
Ich habe leider noch nicht ganz soviel Prorgammiererfahrungen und arbeite z.T. mittels Trial&Error aber hier komme ich einfach nicht weiter. .
Neu:
Gruß Satsu
in einer Schleife addiere ich Werte einer Variable hinzu. Nach dieser Schleife möchte ich den Gesamtwert ausgeben (totalHK). Mein Problem ist, dass totalHK vor der Schleife ausgeführt wird, selbst wenn ich diese Funktion im Return der anderen Funktion (wie es jetzt ist) aufrufe.
Jeglicher console.log Befehl nach der Schleife wird auch zuerst ausgeführt.
Ich habe leider noch nicht ganz soviel Prorgammiererfahrungen und arbeite z.T. mittels Trial&Error aber hier komme ich einfach nicht weiter. .
Code:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
</head>
<body>
<div id="chars"></div>
<div id="totalHK"></div>
<script type="text/javascript">
var totalHK = 0;
var Characters = new Array();
Characters[0] = new Object();
Characters[0]["data"] = ["Azshara","Balimu"];
Characters[1] = new Object();
Characters[1]["data"] = ["Eredar","Kishno"];
Characters[2] = new Object();
Characters[2]["data"] = ["Eredar","Franzisk"];
Characters[3] = new Object();
Characters[3]["data"] = ["Eredar","Snaf"];
Characters[4] = new Object();
Characters[4]["data"] = ["Azshara","Yog"];
Characters[5] = new Object();
Characters[5]["data"] = ["Azshara","Kishko"];
Characters[6] = new Object();
Characters[6]["data"] = ["Eredar","Eiz"];
Characters[7] = new Object();
Characters[7]["data"] = ["Eredar","Satzuu"];
Characters[8] = new Object();
Characters[8]["data"] = ["Azshara","Eizy"];
/*
Characters[9] = new Object();
Characters[9]["link"] = ["???","???"];
Characters[10] = new Object();
Characters[10]["link"] = ["???","???"];
*/
function getData(){
for( var i = Characters.length; i >= 0; i-- ) {
for( var test in Characters[i] ) {
$.getJSON("http://eu.battle.net/api/wow/character/" + Characters[i].data[0] + "/" + Characters[i].data[1] + "?fields=pvp&jsonp=?", function (data) {
var $StatusString = "<p>" + data.name + "@" + data.realm + ": " + data.pvp.totalHonorableKills + " HK" + "</p>";
totalHK += data.pvp.totalHonorableKills;
console.log("In Schleife: " + totalHK);
$($StatusString).appendTo("#chars");
});
}
}
return showTotalHK(totalHK);
}
function showTotalHK(totalHK) {
console.log(totalHK);
var totalHKString = "<p><b>Total: " + totalHK + " HK</b><br>";
$(totalHKString).appendTo("#totalHK");
}
</script>
<input type="button" value="DoIt!" onclick="getData()">
</body>
</html>
Neu:
Code:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script type="text/javascript">
function init() {
totalHK = 0;
characters = [
{data: ['Azshara', 'Balimu']},
{data: ['Eredar', 'Kishno']},
{data: ['Eredar', 'Franzisk']},
{data: ['Eredar', 'Snaf']},
{data: ['Azshara', 'Yog']},
{data: ['Azshara', 'Kishko']},
{data: ['Eredar', 'Eiz']},
{data: ['Eredar', 'Satzuu']},
{data: ['Azshara', 'Eizy']},
];
}
function getData(){
for( var i = characters.length; i >= 0; i-- ) {
for( var elem in characters[i] ) {
$.getJSON("http://eu.battle.net/api/wow/character/" + characters[i].data[0] + "/" + characters[i].data[1] + "?fields=pvp&jsonp=?", function (data) {
var $statusString = "<p>" + data.name + "@" + data.realm + ": " + data.pvp.totalHonorableKills + " HK" + "</p>";
totalHK += data.pvp.totalHonorableKills;
console.log("In Schleife: " + totalHK);
$($statusString).appendTo("#chars");
});
}
}
return showTotalHK(totalHK);
}
function showTotalHK(totalHK) {
console.log("Nach Schleife: " + totalHK);
var totalHKString = "<p><b>Total: " + totalHK + " HK</b><br>";
$(totalHKString).appendTo("#totalHK");
}
</script>
</head>
<body onload="init()">
<div id="chars"></div>
<div id="totalHK"></div>
<input type="button" value="DoIt!" onclick="getData()">
</body>
</html>
Gruß Satsu
Zuletzt bearbeitet:
(Update)