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 :

Apparition de div dans partie visible de l'�cran


Sujet :

JavaScript

  1. #1
    Membre confirm�

    Homme Profil pro
    Enseignant
    Inscrit en
    F�vrier 2020
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : F�vrier 2020
    Messages : 178
    Par d�faut Apparition de div dans partie visible de l'�cran
    bonjour � tous,

    j'ai sur mon body, une div, "flex-direction column", qui ressemble � ca :
    Nom : divFlex.png
Affichages : 174
Taille : 25,0 Ko

    tant que je ne provoque pas un d�filement vertical du body, en restant sur les deux premiers items, et que je clique, je construis et fais apparaitre une div en haut � gauche par un bout de code appel�. Cela cr�� une div d'aspect similaire, mais de contenu diff�rent pour les diff�rents items propos�s verticalement.

    Mais quand je veux atteindre les items plus bas, je provoque donc un scrooling vertical var le haut, et quand je clique pour cr�er la div nouvelle de contenu, elle se positionne � la m�me hauteur sur mon body que les pr�c�dentes, mais comme le haut du body est mont� hors de l'�cran, on ne voit que le bas de la div construite. Certes, je peux scrooller vers le bas pour la retrouver enti�re � l'�cran, mais j'aimerais qu'elle apparaisse directement en haut � gauche de la partie visible de mon �cran..

    Est-ce qu'il y a moyen d�acc�der directement ou indirectement, aux coordonn�es du point sup�rieur gauche de ma fen�tre de visualisation, par rapport au coin sup�rieur gauche de mon body, afin de corriger cela par un bout de code??

    Merci.

  2. #2
    Expert confirm� Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activit� : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par d�faut
    C'est plut�t un probl�me de CSS. Recherche sur la propri�t� position pour les valeurs fixed ou sticky.

    un bout de code??
    Ouais, ce serait bien.

  3. #3
    Membre confirm�

    Homme Profil pro
    Enseignant
    Inscrit en
    F�vrier 2020
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : F�vrier 2020
    Messages : 178
    Par d�faut plus pr�cisemment...
    Citation Envoy� par CosmoKnacki Voir le message
    C'est plut�t un probl�me de CSS. Recherche sur la propri�t� position pour les valeurs fixed ou sticky.


    Ouais, ce serait bien.

    l'id�e est la suivante:
    quand je clique sur un des items en gris/vert affich� sur la page d'accueil, j'appelle une fonction qui construit une div me proposant les documents correspondants.
    Sur un grand �cran, type PC, pas de probl�me, car mon "support" qui pr�sente les documents voulus rentre enti�rement dans la surface visible du document.

    Sur un petit �cran, par exemple smartphone, je construis une div "Support" redimensionn�e, pour un petit �cran, mais qui peut ne pas entrer en totalit� en hauteur. C'est l� que le probl�me survient.

    en effet :

    si je construis mon support avec positionnement "fixed", le bon cot�, c'est qui est plac� nickel au bon endroit sur mon document, au coin sup�rieur gauche sous la div bleue :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // div conteneur principal SUPPORT
           var  support = document.createElement("div");
                // style
                support.style.position = "fixed";
     
                 support.style.minHeight = screen.availHeight - y0 + "px";
                support.style.top = y0 +"px";
                support.style.left = 0; 
                support.style.zIndex = "15";
     
                support.style.width= screen.availWidth + "px"; // taille du support pour écran < 1000
    Le support est tr�s bien si l'�cran du m�dia l'affiche en totalit� :
    Nom : supportOK.png
Affichages : 105
Taille : 34,0 Ko

    Si l'�cran du smartphone est petit, le support est tronqu�.
    Nom : supportTronqu�.png
Affichages : 103
Taille : 32,1 Ko

    Le point positif est que le support est toujours plac� au bond endroit, car "fixed" cale les coordonn�es sur le viewport, et donc, � la m�me position visuelle, m�me si le document s'est d�cal� verticalement.
    Le point n�gatif est qu'il est impossible de bouger ou srooler pour voir le bas du support tronqu�...

    Si je mets une position "absolute", le positionnement se cale sur le document, et donc, tout est nickel tant que je ne d�place pas les items � cliquer sur la page d'accueil, en voulant atteindre un qui est en bas de l'�cran d'acceuil, ce qui ferait d�placer le document verticalement, et par la m�me, d�placer le postionnement vertical du support qui sera construit. Donc, dans cette option, c'est le haut du support qui sera cach�, car trop haut, mais on pourra scrooler....

    La question est la suivante :

    Comment avoir � la fois, un support dont le haut apparait en totalit�, et qu'on peut scroller pour faire apparaitre le bas quand il est trop grand pour etre affich� en totalit�.

    (j'ai essay� les "overflow : scroll, hidden.... rien n'y fait)

    Bravo � ceux qui ont tout lu, grand BRAVO � ceux qui comprendront ma probl�matique, et merci � ceux qui s'y pencheront �ventuellement...

  4. #4
    Membre confirm�

    Homme Profil pro
    Enseignant
    Inscrit en
    F�vrier 2020
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dr�me (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : F�vrier 2020
    Messages : 178
    Par d�faut r�solution...
    bonjour � tous, (si jamais quelqu'un suit ma petite chronique.)

    Apr�s de nouvelles recherches, je viens de trouver une solution pour ma probl�matique.

    En effet, la m�thode "getBoundingClientRect()" met � notre disposition, le d�calage de position d'un �l�ment html, entre les coordonn�es par rapport au document, et celles par rapport � la fen�tre du viewport.

    J'ai donc mis ma div en postionnement "absolute", ce qui me permet de la faire monter et descendre pour voir tout le contenu si elle est plus grande que la fen�tre visible, et de plus, connaissant le d�calage des coordonn�es document/fenetre,
    je peux la positionner comme je veux � l'affichage....

    En esp�rant que ma d�marche pourra rendre service � d'autres....

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

Discussions similaires

  1. appel d'ID de balise div dans firefox
    Par la.sophe dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 20/02/2006, 22h28
  2. [HTML] centrer DIV dans la page
    Par graphicsxp dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 4
    Dernier message: 20/02/2006, 17h44
  3. [CSS][debutant] probl�me de position de 2 div dans un div
    Par nixonne dans le forum Mise en page CSS
    R�ponses: 1
    Dernier message: 06/12/2005, 14h12
  4. Position d'une DIV dans IE
    Par Klaim dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 19/05/2005, 13h34
  5. Fen�tres fig�es dans parties d'un SplitPane
    Par Oliveuh dans le forum Agents de placement/Fen�tres
    R�ponses: 9
    Dernier message: 07/07/2004, 11h32

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