IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Script qui me permet de savoir combien d'éléments j'affiche [AIDE]


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [AJAX] Script qui me permet de savoir combien d'éléments j'affiche [AIDE]
    Salut,

    Je suis dans un processus de contruction de site web. Sur le côté droit du site, il y a un div dans lequel j'affiche les dernières news, un sondage, les derniers articles...

    Seulement tous ces éléments prennent beauoup de place dans la page(en hauteur), et j'ai peur que si le contenu de la page (au centre) est trop petit, il y est un petit bug d'affichage.

    J'ai donc essayé de coder un script qui va me permettre de trouver la hauteur du div (en js), puis de l'envoyer (en ajax, ou en dernier recours par url) à PHP.

    Je vous montre ce que j'ai pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <script>
     
    var hauteur = document.getelementById("droite").clientheight;
    var page = "xmlhttprequest"; //Le nom de la page sans le .php
    var xhr = null; // on créé notre objet XHR, selon les navigateur pour qu'il marche bien partout .
     
    if(window.XMLHttpRequest || window.ActiveXObject) {
    		if(window.ActiveXObject) {
    				try {
    						xhr = new ActiveXObject("Msxml2.XMLHTTP");
    				} catch(e) {
    						xhr = new ActiveXObject("Microsoft.XMLHTTP");
    				}
    		} else {
    				xhr = new XMLHttpRequest();
    				xhr.onreadystatechange = function() {
    					if (xhr.readyState == (1 || 2 || 3 )) {
    						// Chargement en attente 
                                                    // Je suis supposer mettre quoi lah?
    					} 
    					if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    						 alert('Chargement Terminé!'); // Chargement terminé
    					}
     
    				}
    				xhr.open("POST","" + page + '.php', true); 
     
    				xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    				xhr.send(hauteur); // et on envoie les données à ta page PHP ;)
    		}
    } else {
    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    		return null;
    }
    </script>
     
    <?php
     
    $hauteur = $_POST['hauteur'];
     
    $hauteur_element = 100; // Je donne une mesure comme ça, je vais tester par la suite
     
    $nombre_elements = $hauteur / $hauteur_element; 
     
    $nombre_elements--; // Je m'assure que les éléments ne dépasseront pas le contenu
     
    ?>
    PHP ne semble pas recevoir la varible

    Une idée?

    Ça ne me dérange pas de tous recommencer le script...

    Merci!

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Je ne comprends pas ce que vient faire ici AJAX

    Si tu souhaites uniformiser tes hauteurs de DIV, utilise javascript pour calculer la plus grande et ensuite l'affecter à toutes celles concernées.

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Salut,

    Je ne comprends pas ce que vient faire ici AJAX

    Si tu souhaites uniformiser tes hauteurs de DIV, utilise javascript pour calculer la plus grande et ensuite l'affecter à toutes celles concernées.

    ERE
    Une méthode pour le faire est expliquée dans la FAQ
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Salut,

    en fait, le javascript ne me sert qu'à calculer la hauteur du div. Sa hauteur dépend du contenu.

    Par exemple :

    Si le contenu a une hauteur de 1908px (le div aura la même hauteur). Je crois que avec 1908px, je peux tout mettre les éléments que je voulais afficher dans le div (sondage, derniers articles, news...).

    Mais si le contenu a une hauteur de 50px (j'exagere, je sais), et bien si j'affiche tous les éléments (sondage, derniers articles, news...), il y aura un "bug" d'affichage et ce ne sera pas beau!

    Fin de l'exemple

    Je veux donc récupérer la valeur de la hauteur, l'emvoyer a PHP et faire des operations type : "nombre_element_afficher = $hauteurDiv - $hauteurMoyenneElement;".

    Il y a deux solutions envisageable (peut-etre je me trompe?) :

    URL -> get
    AJAX -> XMLHTTPRequest

    VoilÀ!

Discussions similaires

  1. [AJAX] Script qui fait planter IE6
    Par bassimgouzi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/08/2008, 19h19
  2. Savoir si un élément est affiché ou non
    Par romaintaz dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/04/2008, 15h43
  3. Recherche un script qui me permet de verifier un nom de domaine
    Par agencep dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/07/2006, 11h29
  4. [AJAX] Script qui plante IE mais pas Firefox
    Par Booyakha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/05/2006, 18h40
  5. Réponses: 2
    Dernier message: 23/04/2006, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo