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 :

Provoquer le scroll d'une page en javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 246
    Par défaut Provoquer le scroll d'une page en javascript
    Bonjour,
    Je recherche une syntaxe pour aller à un certain point de ma page (en scroll), mais il y a une impossibilités pour déterminer à quel niveau.
    Il est question de mon moteur de jeux d'échecs.sur ma page très grande si la partie est importante, il y a en haut
    l'échiquier ou le visiteur voit les coups (il n'y a que des parties célèbres.) il agit en cliquant 4 boutons (avance, retour un coup, retour début et fin)
    A chaque fois, mon javascript mets en rouge le coup joué et déplace les pièces.


    Donc puisque j'arrives à mettre en rouge il y a certainement une astuce pour croller jusqu'au texte mis en rouge ???
    Pouvez vous m'aider ? je sais que c'est compliqué et le script est assez gros .... si vous voulez je veux bien le donner du reste sous mon ancien pseudo,
    j'avais fait un Topo ici sur mon moteur c'était cadeau ...

    Merci d'avance.

  2. #2
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Pour scroller la page c'est l'instruction :

    c'est exprimé en pixels par rapport au coin haut et gauche de la page.


    Mais il faut la répéter si tu veux scroller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function monScroll()
    {
        	window.scrollBy(0,20);
        	scroller = setTimeout("monScroll()",200); // 200 en millisecondes
    }
    Pour aller jusqu'à un point c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.scroll(0,0); // pour aller au coin haut/gauche
    On peux le faire qu'avec des valeurs en pixels, pas avec le nom d'un element html, par contre on peut avec javascript connaitre la position posX et posY de l'élément et la donner en parametre à la fonction cibleScroll(posX, posY)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function cibleScroll(posX,posY)
    {
       window.scroll(posX,posY);
    }

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Citation Envoyé par JPongivart Voir le message
    Donc puisque j'arrives à mettre en rouge il y a certainement une astuce pour croller jusqu'au texte mis en rouge ???
    Ben pour mettre un texte en rouge je suppose que tu dois utiliser une balise et là du coup tu peux utiliser : element.scrollIntoView...

  4. #4
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 246
    Par défaut
    Mille mercis à vous deux !
    Rapide et efficace, Vous êtes trop TOP !!
    sur que je reviendrais ici

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    salut,

    Pour t'épargner des hypothèses compliquées, pense à un simple lien interne (ancre):

    Mettons que ton bouton soit défini comme ceci:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#rouge"><button id="scr">descendre au coup rouge</button></a>

    il suffit que ton "coup rouge" soit comme cela:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="rouge">coup rouge</div>

    Et pas besoin de javascript...

  6. #6
    Membre expérimenté
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 150
    Par défaut
    Citation Envoyé par javatwister Voir le message
    Et pas besoin de javascript...
    le javascript étant opérationnel autant utiliser la méthode element.scrollIntoView, ce qui évite de modifier le hash de l'URL et donc modifier les entrées de window.history.

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par javatwister Voir le message
    Et pas besoin de javascript...
    Tu es sûr qu'on n'a pas de besoin de JS ?

    Les ancres il faudra bien les "créer" dynamiquement puisque comme le dit JPongivart :

    Citation Envoyé par JPongivart Voir le message
    A chaque fois, mon javascript mets en rouge le coup joué et déplace les pièces.
    Et ce serait dommage d'ajouter une ancre alors qu'il y a déjà un moyen de repérer l'endroit (l’élément) vers lequel on veut scroller puisque que pour mettre un texte en rouge il doit probablement utiliser une balise ou ajouter un style (à une balise déjà existante) via une class ou autre... dans tous les cas l’élément en question est repérè et là du coup la fonction element.scrollIntoView est tout indiquée et elle offre plusieurs options qui peuvent être utiles...

    Enfin peut-être que je n'ai pas bien compris le problème...

  8. #8
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Si, beginner t'a compris le problème, c'est juste d'aller à l'élément rouge.

    mais cette phrase m'inquiete (dans la doc) : "Puisque cette fonction est toujours en développement dans certains navigateurs,"

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

Discussions similaires

  1. [Dojo] Underlay provoquant le scrolling de la page en ouvrant une dialog
    Par nicolasenz dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 26/11/2012, 15h12
  2. Rafraichir une page sans javascript et <meta>
    Par enguerran dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/06/2006, 08h46
  3. [Javascript] rediriger sur une page en javascript
    Par tioseb dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 14h55
  4. modifier color de scroll d'une page web+horloge[html+javasc]
    Par am.adnane dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/12/2005, 14h26
  5. [scrolltop] La hauteur "scrollée" dans une page
    Par pmartin8 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/12/2005, 14h44

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