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 :

[POO] Placer un objet au centre de l'ecran meme avec scrollbar


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut [POO] Placer un objet au centre de l'ecran meme avec scrollbar
    Bonjour

    Voici mon problème. Je dispose d'un tableau de données. Ce tableau contient beaucoup de lignes et j'ai un lien "afficher" dans chaque ligne.

    Je veux afficher un élément par clic sur ce lien. Le hic c'est que cet élément, je voudrais l'afficher au centre de ma page. Pour l'instant, avec ce code, je l'affiche toujours au même endroit. Ce qui fait que si je me trouve en bas du tableau, l'element affiché n'est pas visibkle puisqu'il est affiché en haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	document.getElementById('lien_liste_noire').style.left = (document.body.offsetWidth-200)/2;
    	document.getElementById('lien_liste_noire').style.top = (document.body.offsetHeight-180)/2;
    Voila, j'espère avoir été assez clair. Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    scrollTo ?
    scrollTop
    scrollLeft ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    position fixed en css ??

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById('lien_liste_noire').style.position="fixed";
    document.getElementById('lien_liste_noire').style.left = (document.body.offsetWidth-200)/2;
    	document.getElementById('lien_liste_noire').style.top = (document.body.offsetHeight-180)/2;
    Et avec un positinnement "fixed" ca ne fonctionne pas?

    Edit: too late

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    sinon créer une méthode récupérant le contenu , et tu l'affiche dans une div au centre ( en fixed )

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Avec le dernier code donné, j'ai mon élément qui est affiché mais tout en bas de mon tableau. ( Je parle du code de Tussssss)

    Tiens je vais essayer avec ScrollTo, scrollTop, et scrollLeft proposées par SpaceFrog

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Citation Envoyé par identifiant_bidon Voir le message
    Avec le dernier code donné, j'ai mon élément qui est affiché mais tout en bas de mon tableau. ( Je parle du code de Tussssss)

    Tiens je vais essayer avec ScrollTo, scrollTop, et scrollLeft proposées par SpaceFrog
    Avec mon code, il faut surement que tu redéfinisses ta distance top et ta distance left. J'ai repris les tiennes en copier/coller

  8. #8
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    bon ... et ma solution ?

  9. #9
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Ben c'est précisément ce que je fais en fait.

    Voici l'element que j'affiche (avec un style.visibility a visible)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id='lien_liste_noire' style='border:0px; background-color:transparent; width:330; height:180; position:absolute; visibility:hidden;left:0;top:0;'>
    					<Iframe id='frame_liste_noire' ALLOWTRANSPARENCY='true' width='100%' height='95%' scrolling='no' name='frame_liste_noire' frameborder='0' src=''></Iframe>
    				</div>

  10. #10
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Et meme en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style='border:0px; background-color:transparent; width:330; height:180; position:fixed;
    Ca me met mon element tout en bas de page

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    bon ... j'dois sentir le poisson aujourd'hui ...

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    bon ... j'dois sentir le poisson aujourd'hui ...
    Maintenant que tu le dis

  14. #14
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Ben je t'ai répondu le_chomeur mais aucune de vos solutions ne marche malheureusement ..

  15. #15
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    le parent de la div doit être en position relative , OU
    ta div doit être directement dans le document.
    autre point , si tu veux centrer ta div verticalement tu dois récupérer sa hauteur en fonction du contenu ...

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ha j'avais pas compris ça dans ce sens là ...
    je pensais qu'il fallait scroller la page de façon à centrer un élement et pas positionner l'élement au centre de la page quelque soit la position des scrollbars ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  17. #17
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Ben ce qui est le plus agaçant c'est que j'ai l'impression que je fais deja tous ces trucs mais ca marche tout de meme pas ....

  18. #18
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ha j'avais pas compris ça dans ce sens là ...
    je pensais qu'il fallait scroller la page de façon à centrer un élement et pas positionner l'élement au centre de la page quelque soit la position des scrollbars ...
    oui c'est plutot ca que je voulais mais toujours pas de soluce ....

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ben avec scrollTo() ou le en fixant le scrollTop et scrollLeft de la page ...

    en calculant le screen.heigh
    le obj.offsetHeight

    et du coup il faut scroller le body
    obj.offsetTop +(screen.height-obj.offsetHeight)/2

    pour le centrage en hauteur et pareil pour le centrage en largeur ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  20. #20
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Euh ouais j'ai pas tout bien compris mais apparemment ma première façon de faire est pas top. Je ne peux plus utiliser un truc du genre ?? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	document.getElementById('lien_liste_noire').style.left = (document.body.offsetWidth-200)/2;
    	document.getElementById('lien_liste_noire').style.top = (document.body.offsetHeight-180)/2;
    ou ligne_liste_noire est l'id du div que j'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id='lien_liste_noire' style='border:0px; background-color:transparent; width:330; height:180; position:absolute; visibility:hidden;left:0;top:0;'>
         <Iframe id='frame_liste_noire' ALLOWTRANSPARENCY='true' width='100%' height='95%' scrolling='no' name='frame_liste_noire' frameborder='0' src=''></Iframe>
    </div>

Discussions similaires

  1. Placer un popup au centre de l'ecran
    Par baillador dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2006, 11h38
  2. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  3. [POO] Désactiver un objet dont le nom est passé en parametre
    Par JavaEli dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/07/2005, 08h47
  4. [POO] fonction toUpperCase : Objet attendu
    Par LineLe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2005, 16h51
  5. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/12/2004, 10h44

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