Tach!
function allesandere(translate){ //hier fängt mein alter code an der funktioniert und den will ich benutzen jQuery(function($) {
// alles was hier steht ist mein bestehendes script und benötigt die translate variable }); }
Nur geht es so nicht...
Das glaube ich dir. Du handelst dir wieder ein Zeitproblem ein, weil du jQuery anscheinend nicht verstanden hast. Der Aufruf jQuery(function() {...}) veranlasst bei jQuery, dass die übergebene Funktion in die Abarbeitungsschlange beim Auftreten des DOM-Ready-Events gehängt wird. Das allerdings kam schon längst und hat deinen anderen Code ("Beginn von allem") ausgeführt und dann den Ajax-Call gestartet. Der kam irgendwann zurück und ruft die Funktion auf, in der dem DOM-Ready-Event ein Handler angehängt wird. Der niemals mehr aufgerufen wird, weil DOM-Ready schon längst durch ist. Du solltest dich nochmal mit den Grundlagen von jQuery beschäftigen und wie man in Javascript Kapslung betreibt.
jQuery(function($) {...}); ist dasselbe wie wie $( document ).ready(function() {...}); Wenn es dir lediglich darum geht, jQuery nach $ (innerhalb des Scopes deiner Funktion allesandere) zu übersetzen, dann mach eine Variablenzuweisung. Aber du hast ja offensichtlich das $ schon im globalen Scope mit der Bedeutung eines Aliases auf jQuery. Also wäre es ausreichend das so zu tun:
function allesandere(translate){ // alles was hier steht ist mein bestehendes script und benötigt die translate variable }
Und wenn du nun die Variable translate in den Scope als Parameter reinreichst, brauchst du auch keine globale Variable mehr. Die wird ja sowieso überschrieben.
dedlfix.