Domanda

Sono davvero confuso e non so come andare avanti, probabilmente mi puoi aiutare :)

Ho creato una pagina html con un menu che carica il contenuto esterno in un div (tutto fatto con jquery e ajax-load).

Se voglio aggiungere una seconda funzione, non succede nulla e non sono sicuro dell'annidamento, se è giusto o no.

Qui ci sono due funzioni, la prima carica un'intera pagina html, la seconda carica un div esterno in un div del precedente file caricato (spero di averlo descritto in modo da poterlo capire :)) (numRand è un numero casuale, non importante per la domanda).

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

}

Ecco il secondo codice:

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

}

Voglio combinare le due funzioni in modo da poter chiamare una funzione:

someFunction(menupunkt,submenupunkt,subdiv)

Questo dovrebbe prima caricare menupunkt.html e se questa azione è terminata dovrebbe caricare il div.

se voglio solo caricare un menupunkt e nessun submenupunkt o subdiv, come posso chiamare la funzione?

Spero di poter spiegare la mia domanda in modo che voi ragazzi la possiate seguire, un po 'complicato lo so :)

Grazie in anticipo!

È stato utile?

Soluzione

prima di tutto

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

è una scorciatoia per

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

che è un modo jQuery di impostare una funzione da eseguire quando il DOM è stato caricato. lo stai usando all'interno delle tue funzioni changeMenu e changeSubMenu che non è necessario ( a meno che stai eseguendo entrambe le funzioni immediatamente quando una pagina inizia a caricarsi , ma sarebbe un strano modo di sistemare le cose).

Il comando load () accetta una funzione di callback che verrà eseguita al termine del caricamento. Ad esempio,

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

[callback] può essere una funzione anonima (funzione inline) o una funzione con nome.

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top