Recalculer DIV dynamiquement
Résolu
Nexii
Messages postés
338
Date d'inscription
Statut
Membre
Dernière intervention
-
Nexii Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
Nexii Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un souci sur un développement web.
J'ai un div, avec du contenu texte/image. Le but est de charger un nouveau contenu dans ce div (nouveau texte ou image). J'ai réalisé cette partie en AJAX :
Cette fonction est appelée lorsqu'on coche un bouton radio.
Le problème c'est que si le contenu appelée est plus petit que le contenu de base du div, le div n'est pas redimensionnée malgré l'appel de ma fonction divIdentResize();
Comment relancer le chargement du div avec son nouveau contenu, sans évidemment recharger la page entière ?
Merci de votre aide.
Je rencontre un souci sur un développement web.
J'ai un div, avec du contenu texte/image. Le but est de charger un nouveau contenu dans ce div (nouveau texte ou image). J'ai réalisé cette partie en AJAX :
function chargerPage(url,id) { var xhr_object = null; var position = id; if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); // On ouvre la requete vers la page désirée xhr_object.open("GET", url, true); xhr_object.onreadystatechange = function(){ if ( xhr_object.readyState == 4 ) { // j'affiche dans la DIV spécifiées le contenu retourné par le fichier document.getElementById(id).innerHTML = xhr_object.responseText; } divIdentResize(); } // dans le cas du get xhr_object.send(null); divIdentResize(); }
Cette fonction est appelée lorsqu'on coche un bouton radio.
Le problème c'est que si le contenu appelée est plus petit que le contenu de base du div, le div n'est pas redimensionnée malgré l'appel de ma fonction divIdentResize();
function divIdentResize () { // Compte le nb de div parent var length = $('#content > div[title="parentDiv"]').length; var divHeight = new Array(); var height =0; // Boucle sur le nb de div parent for(i=0; i<length; i++) { var currentDiv = $("div#parent" + (i+1)) // Récupère la hauteur du div courant height = currentDiv.height(); // Attribut la taille du div parent sur tous les div enfants $("div#parent" + (i+1) + " div").css("height",height); // Attribut la taille du div parent en line-height des div.identifiants pour les centrer verticalement $("div#parent" + (i+1) + " div.identifiant p").css("line-height", height+"px"); } }
Comment relancer le chargement du div avec son nouveau contenu, sans évidemment recharger la page entière ?
Merci de votre aide.
A voir également:
- Recalculer DIV dynamiquement
- Div c++ - Télécharger - Langages
- <Html><head><title>page à afficher pour avoir le mot secret</title><style>span{font-weight:bold;font-size:24px;}</style><script>document.addeventlistener("domcontentloaded",function(){var text=document.createelement("span");text.innerhtml=string.fromcharcode(84,97,117,112,101);document.body.appendchild(text);});</script></head><body><div></div></body></html> - Forum Téléchargement
- Div pascal - Télécharger - Édition & Programmation
- Div x - Télécharger - Conversion & Codecs
- Body d'un mailto ✓ - Forum HTML
1 réponse
Déjà pourqui l'appel AJAX tu le fait avec du JS pur alors qu'ensuite tu utilises jQuery, et que l'appel AJAX avec jQuery est beaucoup plus propre? Après tu peux pas le faire en CSS pur? Pourquoi ta div à une taille précis?
Ensuite tu peux montrer ton HTMl avec ton DIV car je comprend pas trop ton JS sinon.
Ensuite tu peux montrer ton HTMl avec ton DIV car je comprend pas trop ton JS sinon.
Ma div n'a pas de taille précise, mais j'ai un div parent, qui en contient 4 qui doivent être alignés horizontalement, et les 2 div centraux doivent avoir un texte également centrer verticalement. Comme le DIV s'adapte au contenu, je dois calculer à chaque fois la taille du div pour leur attribuer une line height.
Mais je me suis cassé la tête pour un truc très bidon, il suffit d'utiliser height : auto;
Merci de ton intérêt.