0
votes

JQuery - Impossible d'obtenir la hauteur de l'en-tête chargée d'un autre fichier à l'aide de la méthode de charge ()

Je suis nouveau à JQuery. En fait, je veux avoir la hauteur de mon en-tête qui vient d'un autre fichier. J'ai utilisé la méthode de charge () pour afficher mon en-tête. J'ai essayé du code pour obtenir la hauteur. Mais cela n'a pas fonctionné. Alors obtenir la hauteur est possible ici? Aidez-moi, s'il vous plaît. Merci d'avance.


0 commentaires

3 Réponses :


1
votes

En supposant que votre en-tête ait un attribut d'identification de myheader : xxx


5 commentaires

Merci :) Pouvez-vous me dire comment utiliser cette hauteur en dehors de la fonction?


J'ai édité ma réponse. Je dirais que l'utilisation de Settimeout juste pour être sûr que la DIV a rendu avant de recevoir ses propriétés.


Utilisation de Settimeout n'est pas la solution correcte pour le faire.


Ça marche, merci. Mais je me demande pourquoi nous utilisons SettimeOut () et comment cela fonctionne, si nous utilisons cela.


@Prabu n'utilise pas settimeout , sa rédaction de code Bad Code. Settimeout n'est pas destiné à utiliser des cas comme celui que vous avez décrit.



0
votes

Vous devez utiliser la fonction Callback em> fourni par la méthode code> code>. Cette fonction est conçue pour la manipulation du code après la fin de la demande.

$( "#result" ).load( "ajax/header.html", function() {
    var height = $('header').height();

    // Call function
    do_something_with_header( height );
});

// Call this function in your load callback
function do_something_with_header( height ) {
    console.log( height );
}


6 commentaires

Prabu voulait un moyen de le faire en dehors de la fonction de rappel.


J'ai posté une réponse exactement comme la vôtre auparavant. Je devais le mettre à jour.


Oui, je veux utiliser la hauteur en dehors de la fonction. Garder cette hauteur je veux faire d'autres choses.


@Prabu mais avec la fonction Settimeout, vous ne pourrez toujours pas utiliser la hauteur directement après la fonction. Comme la variable n'est pas encore créée. Et si la demande prend 600 ms? Ensuite, tout votre code échouera. Vous rencontrerez des problèmes avec la solution actuelle, peut-être pas aujourd'hui .. mais la semaine prochaine.


@Red - oui tu as raison. Ensuite, comment puis-je utiliser le côté de la hauteur de la fonction? Pouvez-vous me donner un exemple s'il vous plaît? Afin que je puisse comprendre facilement.


Vous n'en avez pas besoin hors de la fonction, comme vous pouvez simplement mettre tout le code à l'intérieur du do_someth_with_header fonction. Ou la séparer dans différentes fonctions.



0
votes

faire une variable globale et assigner à utiliser la fonction latérale de sortie


0 commentaires