Question

Je suis vraiment confus et je ne sais pas comment m'y prendre, vous pouvez probablement m'aider:)

Je réalise une page HTML avec un menu qui charge le contenu externe dans un div (tout se fait avec jquery et ajax-load).

Si je veux ajouter une deuxième fonction, rien ne se passe et je ne suis pas sûr de l'imbrication, que ce soit correct ou non.

Voici deux fonctions, la première charge une page html entière, la seconde charge une div externe dans une div du fichier chargé précédemment (j'espère que je l'ai décrite pour que vous puissiez la comprendre :)) (numRand est un nombre aléatoire, pas important pour la question).

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

}

Voici le deuxième code:

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

}

Je veux combiner les deux fonctions pour pouvoir appeler une fonction:

someFunction(menupunkt,submenupunkt,subdiv)

Ceci devrait d’abord charger le fichier menupunkt.html et si cette action est terminée, il devrait charger le div.

si je veux seulement charger un menupunkt et aucun submenupunkt ou subdiv, comment puis-je appeler la fonction?

J'espère pouvoir expliquer ma question pour que vous puissiez la suivre un peu compliquée, je sais:)

Merci d'avance!

Était-ce utile?

La solution

tout d'abord

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

est un raccourci pour

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

qui est un moyen jQuery de configurer une fonction à exécuter lorsque le DOM est chargé. vous l'utilisez dans vos fonctions changeMenu et changeSubMenu , ce qui n'est pas nécessaire ( sauf si vous exécutez les deux fonctions immédiatement lorsqu'une page commence à se charger , mais ce serait un étrange moyen de mettre les choses en place).

La commande load () prend une fonction de rappel qui sera exécutée une fois le chargement terminé. Par exemple,

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

[rappel] peut être une fonction anonyme (fonction en ligne) ou une fonction nommée.

J'espère que cela vous aidera

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top