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

JavaScript Discussion :

Position de la scrollbar dans un div


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    D�cembre 2004
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 3
    Par d�faut Position de la scrollbar dans un div
    Bonjour,

    Tout d'abord, puisque c'est la "saison", je vous pr�sente mes meilleurs voeux pour 2005.

    Pour ma part, je recommence le boulot en reprenant un "probl�me" que j'ai rencontr� juste avant de partir en cong�s. Celui-ci avait d�j� �t� trait� dans ce forum (http://www.developpez.net/forums/viewtopic.php?t=255051) mais malheureusement les solutions propos�es ne m'ont pas permis de r�soudre mon souci.
    J'ai essay� de relancer le sujet mais comme il �tait marqu� comme r�solu personne n'a du y faire attention ...

    Je me permet donc de poser � nouveau ma question.

    En gros, pour r�sumer la situation :

    - J'ai dans un formulaire un div dont le contenu (dynamique et potentiellement diff�rent � chaque chargement de la page) d�passe dans certains cas la largeur. Je voudrais positionner la scrollbar qui apparait dans ce cas l� pour qu'au chargement de la page ce soit la partie droite du div qui soit visible par exemple.

    - mon div est dans le formulaire d'une jsp contenue dans un layout qui est lui m�me une jsp ... bla bla bla ... Le seul endroit o� je peux mettre du sp�cifique � mon div est la jsp.

    - le div est d�fini comme suit :
    <div id="scrollImages" style="overflow-x:scroll">

    - juste apr�s la fin du formulaire, j'appelle une fonction javascript qui redimensionne certains div dont 'scrollImages'. Comme j'ai une largeur limite pour mon div, c'est l� que le contenu peut parfois �tre plus large que cette limite.

    Le probl�me, c'est que ma scrollbar est toujours cal�e � gauche. Je me suis rendu compte que quand je fais un 'alert("scrollWidth : " + document.getElementById('scrollImages').scrollWidth);' dans ma fonction javascript, j'obtiens 0 !!!

    Par contre, si je rajoute un bouton
    <input type="button" value="scrollWidth" onclick="alert(document.getElementById('scrollImages').scrollWidth)" />
    pour voir par la suite la largeur de ma scrollbar, j'obtiens une taille qui ressemble � quelque chose ...

    Je ne suis pas un expert en javascript et j'ai un peu du mal � comprendre ce qui se passe.
    J'esp�re donc que vous pourrez m'aider.
    Merci d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    D�tails du profil
    Informations personnelles :
    �ge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par d�faut
    Si j'ai bien compris, tu veux que ta barre de scroll soit toujours d�fil�e au maximum pour faire appara�tre la partie de droite du contenu.
    Voici un petit exemple:


    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
    <html>
    <head>
    <script language="javascript">
    function adjustDiv()
    {
     var target=document.getElementById('theDiv');
     if(!target) return;
     target.scrollLeft=target.scrollWidth;
     //Tu mets le scrollLeft au max dans tous les cas
    }
    </script>
    </head>
    <body onload="adjustDiv()">
    <div id="theDiv" style="position:absolute;height:50px;width:100px;overflow:auto"><nobr>
    une donnée plus large que 100 px
    </div>
    </body>
    </html>
    J'ai appel� la fonction adjustDiv au chargement de la page mais tu peux l'appeler quand bon te semblera bien s�r.

  3. #3
    Futur Membre du Club
    Inscrit en
    D�cembre 2004
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 3
    Par d�faut
    Merci pour ta r�ponse.

    J'avais pens� � cette solution mais je n'avais pas encore essay� de la mettre en oeuvre car je voulais �viter d'appeler une fonction javascript dans le onload du body.
    En effet, je n'ai peut-�tre pas �t� tr�s clair dans mon explication mais le body de ma page est dans ce que j'ai appel� le layout qui est g�n�rique � toutes les pages de l'appli et je voulais �viter d'avoir � d�finir une fonction javascript vide dans toutes les jsp venant s'y "ins�rer" alors que seule l'une d'entre elle n�cessite ce traitement sp�cifique.

    Ceci dit, je ne crois pas en fin de compte qu'il y a de solution plus propre.

    J'avais trouv� une magouille qui consistait � appeler une fonction de positionnement de la scrollbar � la fin de ma jsp, apr�s celle de redimensionnement, sauf que cette nouvelle fonction �tait appel� avec un 'settimeout', ce qui "laissait le temps" � la page de s'afficher. Les dimensions du div et de sa scrollwidth �taient alors connues et �a marchait. Mais bon, on est d'accord, c'�tait pas classe du tout ...

    Bref, tout �a pour dire que j'ai finalement appliqu� la m�thode "propre" : appel d'une fonction javascript dans le onload et d�finition de cette fonction dans toutes mes jsp avec du code dedans lorsque cel� est n�cessaire . Et puis finalement �a pourra peut-�tre me servir si j'ai besoin de faire du sp�cifique sur une autre page.

    Et donc �a marche comme je le souhaitais.
    Merci stephaneey.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [css] scrollbar dans un div
    Par tooms2028 dans le forum Mise en page CSS
    R�ponses: 9
    Dernier message: 17/06/2007, 09h18
  2. scrollbar dans un div
    Par bouclette dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 19/10/2006, 14h10
  3. gestion d'une scrollbar dans une div
    Par duge dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 31/08/2006, 13h54
  4. Position d'une ScrollBar dans un TRichEdit (ou TMemo)
    Par Troll dans le forum C++Builder
    R�ponses: 9
    Dernier message: 24/02/2005, 15h18

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