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] Position Scrollbar Verticale.


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut [AJAX] Position Scrollbar Verticale.
    Bonjour à vous.

    Voila comme l'indique mon sujet, mon problème se situe au niveau de l'ascenseur vertical de mon navigateur.

    En fait, j'ai une page avec un tableau contenu dans un div (id = divA). Lorsque je clique sur un lien de ce tableau sa met à jour dynamiquement un autre tableau ( id= divB ). Cela fonctionne sans problème. Le problème est que si le tableau est long, je baisse l'ascenseur à droite mais lorsque je clique sur mon lien l'ascenseur remonte ce qui est dommage... car sa gâche l'effet de mise à jour dynamique. J'ai bien trouvé de mettre un scrollto ds le onload de body mais la sa m'aide pas car je ne rappelle pas le body donc....

    Alors ma question est : comment peut on conserver ou forcer la position de l'ascenseur après avoir cliquer sur un lien mettant à jour dynamiquement mon divB.??

    En gros comment lier AJAX et javascript avec un ascenseur qui bouge pas.

    Ça fait pas mal de temps que je cherche et je trouve pas.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour et bienvenu sur Developpez.com

    Pas sûr que ton problème soit directement lié à Ajax.
    Un <A href="#"> peut donner ce résultat si tu n'as pas terminé le onclick par un "return false".

    Si ce n'est pas le cas, il faudrait voir le code (Javascript + HTML généré)

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Merci pour l'accueil ^^.

    Alors j'ai bien pensé au système d'ancre mais cela, ne résoud pas mon problème dans le sens où si je met une ancre elle apparaîtra tout en haut de mon écran. Alors que moi ce que je veux c'est vraiment "BLOQUER l'ascenceur". Qu'il ne bouge pas d'un PETE.

    Donc je te montre mon code :

    Ci dessous, voici mon lien "M" qui appelle mon javascript. Quand je clique dessus il doit faire apparaitre une formulaire.php dans le div modiFormulaire

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="texte" id="texte">
     
    	       <a href="#" onclick="envoieRequete('includes/adm/p619/formulaire.php?act=M&num_annuaire=29&recharge&scrollpos='+document.documentElement.scrollTop,'modifFormulaire');"> <strong>M</strong></a>
     
                <div id="modifFormulaire"></div>
     
        </div>


    Ci dessous le code javascript appelé :

    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
     
     
     function envoieRequete(url,id)
     {
            var xhr = getXhr();
    	xhr.open("GET",url,true);
     
    	// ne pas oublier ça pour le post
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
    	xhr.send(null);
     
            // On défini ce qu'on va faire quand on aura la réponse
    	xhr.onreadystatechange = function(){
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4 && xhr.status == 200){
    			leselect = xhr.responseText; 
    			//fonction rechargeant les scripts
                            evalueScripts(id);
    			document.getElementById(id).innerHTML = leselect;
     
    		}
    	}
     }

    Et pour finir le contenu de mon formulaire.php est un formulaire ce qu'il y'a de plus simple. Je ne juge donc pas nécessaire de le mettre. En fait je souhaiterais bloquer l'ascenceur la où il se trouve avant que je clique sur "M".

    Ainsi la position de l'ascenceur avant et après que j'ai cliqué n'aura pas changé.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Tu as loupé ce morceau :
    Citation Envoyé par E.Bzz Voir le message
    si tu n'as pas terminé le onclick par un "return false".
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="envoieRequete('includes/adm/p619/formulaire.php?act=M&num_annuaire=29&recharge&scrollpos='+document.documentElement.scrollTop,'modifFormulaire');return false;">  <strong>M</strong></a>


    Par contre, tu ne devrais plus avoir besoin du scrollTop ...

    A+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Que dire à part ......... MERCI. C'est exactement ce que je voulais... ^^ 2jours de galère et toi tu me résous le problème en 2s... Si j'avais su, j'aurais eu recours à la solution developpez.com plus tôt.


    Le seul problème est que ça fonctionne, c'est clair. ^^C'est même parfait. Cependant je ne comprend pas le pourquoi du comment. En fait pourrais-tu juste me dire comment agit le retour false par rapport à la position de l'ascenseur.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par momox19 Voir le message
    En fait pourrais-tu juste me dire comment agit le retour false par rapport à la position de l'ascenseur.
    La position de l'ascenseur n'est qu'un effet collatéral.
    Si tu ajoute un onclick dans un lien, l'enchainement est le suivant :
    1. click sur le lien
    2. exécution de la fonction onclick() du lien
    3. appel au href du lien
    Or le href="#" fait appel au sommet de la page courante.
    Le "return false;" a pour but de stopper l'évènement en cours. Le traitement s'arrête au 2) ci-dessus.
    On ne fait donc plus appel au href. Aucun lien n'étant appelé, on reste sur place.
    Une illustration simple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://www.google.fr" onclick="return window.confirm('Aller sur Google ?');">Google</a>
    EDIT :
    Citation Envoyé par momox19 Voir le message
    Si j'avais su, j'aurais eu recours à la solution developpez.com plus tôt.


    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/05/2008, 16h57
  2. position scrollbar verticale
    Par kapfab dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2007, 16h49
  3. Position scrollbar iframe
    Par ppmaster dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/02/2006, 01h03
  4. [VB.NET] Position ScrollBar dans un TextBox
    Par daner06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/02/2006, 17h19
  5. Supprimer la scrollbar verticale mais pas l'horizontale
    Par Prue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/07/2005, 11h24

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