Frage

Ich bin wirklich verwirrt und weiß nicht, wie auf bekommen, wahrscheinlich können Sie mir helfen:)

I'e hat diese HTML-Seite mit einem Menü, das in ein div (mit Jquery und Ajax-Last alles getan) externe Inhalte lädt.

Wenn ich eine zweite Funktion nichts hinzufügen möchten passiert und i'am nicht sicher über die Verschachtelung, wheather es richtig ist oder nicht.

Hier sind zwei Funktion, wobei die erste eine ganze HTML-Seite, die zweite Last ein externes div in einem div der vorherigen geladenen Datei lädt (hoffe, dass ich es beschrieben, so dass Sie es verstehen können :)) (numRand a Zufallszahl, nicht wichtig für die Frage).

function changeMenu(menupunkt) {
$(function(){
    $('#mainContent').fadeOut('fast', function(){ $("#mainContent").load(menupunkt+".html?"+numRand);});
    $('#mainContent').fadeIn('fast');});
    return false;

}

Hier ist der zweite Code:

function changeSubMenu(submenupunkt,subdiv) {
    $(function(){
        $('#htmlContainer').fadeOut('fast',function(){ $("#htmlContainer").load(submenupunkt+".html?"+numRand+" div#"+subdiv);});
        $('#htmlContainer').fadeIn('fast');});
        return false;

}

Ich möchte die beiden Funktion kombinieren, so dass ich eine Funktion aufrufen können:

someFunction(menupunkt,submenupunkt,subdiv)

Dies sollte zunächst die menupunkt.html laden und wenn diese Aktion beendet hat, es sollte die div laden.

, wenn ich nur einen Menüpunkt und keine submenupunkt oder Subdiv geladen werden soll, wie kann ich rufen Sie die Funktion?

Ich hoffe, dass ich meine Frage erklären konnte, so dass Sie Jungs es folgen kann, kompliziert Bit ich weiß:)

Vielen Dank im Voraus!

War es hilfreich?

Lösung

allererst

$(function() { .... code here .... }); 

ist eine Abkürzung für

$(document).ready(function() { .... code here .... });

, das ist eine jQuery Art und Weise eine Funktion der Einrichtung auszuführen, wenn das DOM geladen ist. Sie verwenden diese innerhalb Ihrer Funktionen changeMenu und changeSubMenu, die nicht notwendig ist ( ist, es sei denn Sie beide Funktionen sofort ausgeführt werden, wenn eine Seite zu laden beginnt, aber das wäre ein seltsam So wie die Dinge einzurichten).

Der load() Befehl nimmt eine Callback-Funktion, die wird ausgeführt, wenn die Last abgeschlossen hat. Zum Beispiel:

$("#mainContent").load(menupunkt+".html?"+numRand, [callback here]);

[callback] kann entweder eine anonyme Funktion (Inline-Funktion) oder eine benannte Funktion sein.

Hope, das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top