Hi!
OT:
Das "$" fungiert als Erkennungszeichen für jQuery. Das Tolle an jQuery ist, dass das Selektieren nach CSS-Code geht: $("Selector").method usw., also z.B. $("p") oder $("#element") oder $(".element") aber auch $("h1 + h2 > .element") etc. Man muss dann eben nicht mehr so viel Text schreiben und außerdem kann man das ja auch mit anderem JS verknüpfen, sodass z.B. nur die Selektoren mit JQuery geschrieben sind, da es ja wesentlich weniger Schreibarbeit mit CSS ist
Ich hab auf StackOverflow mal geschaut und da heißt es, dass die Zahl 3 für einen Rechtsklick steht ?! (bei dir steht nämlich 2)
Nebenbei: Ich würde im HTML-Teil nur die für die Benutzer-Anzeige notwendigen Daten speichern und alle Daten, mit denen du rechnest, etc. in geeigneter Form in Javascript speichern. Also dein
weglassen. Weil das willst du doch aktualisieren, oder?
Ja, aber ich kann doch trotzdem eine Variable erstellen und den geschriebenen Wert durch die Variable setzen, oder? Sonst muss ich doch für 180 Skills die Variablen in den Objekten platzieren
Ich habe bei mir einen Array skilltreeArray angelegt:
Oha ... mit Arrays hab ich noch nie gearbeitet ... Ich frag mich halt immer noch, warum es nicht funzt. Die changeSkill versteh ich auch so halbwegs, aber das mit dem Array halt nicht
Ich hab mir auch mal deinen vollständigen Quellcode angeschaut (wie umständlich mit window.oncontextmenu = function(){return false;}

). Das Ergebnis:

SEHR VIEL CODE!!
Eine Frage dazu: Warum machst du tabMasteryClick so umfangreich? Ich hab das so gemacht:
Selection Buttons:
Code: Alles auswählen
$("#calcSkilltree1 .masterySelection").ready(function(){
$("#calcSkilltree1 > *:not(.masterySelection, .skillsTab)").css("display","none");
$("#calcSkilltree1 .masterySelection").css("display","block");
});
$("#calcSkilltree1 a.cmd_mastery_name:not(.disabled)").click(function(){
$("#calcSkilltree1 > *:not(.masteryName, .skillsTab)").css("display","none");
$("#calcSkilltree1 .masteryName").css("display","block");
$("#calcSkilltree2 a.cmd_mastery_name").addClass("disabled");
$("a.skillsTab1").html("Meisterschaftsname");
});
Und die beiden Tabs:
Code: Alles auswählen
("#calcSkilltree1 a.skillsTab2").click(function(){
$("#calcSkilltree1").css("display","none");
$("#calcSkilltree2").css("display","block");
});
$("#calcSkilltree2 a.skillsTab1").click(function(){
$("#calcSkilltree2").css("display","none");
$("#calcSkilltree1").css("display","block");
});
Und noch ne Frage zu den Return-Links: WIE GEHT DAS?!?! Geht das nur mit PHP? (also das "?mastery=mastery1&skills=0-0-1-..."). Ich möchte das nämlich ungern über ein jQuery-Hashtag-Plugin machen, da ich finde, dass das "?mastery=mastery1&skills=0-0-1-..." einfacher ist.
Vielen Dank schonmal!