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 :

Stopper le scroll sur une ancre avec javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut Stopper le scroll sur une ancre avec javascript
    Bonjour,

    tout est dans le titre ; comment stopper le scroll qui se produit lorsque l'on clique sur une ancre ?

  2. #2
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    Comment �a le scroll ? Tu n'es pas directement ramen� � la cible de ton lien ancre ?

  3. #3
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    si je vais directement � la cible de mon ancre, mais pour y aller le navigateur scroll ; pour un menu qui renvoie vers des ancres, ce n'est pas tr�s pratique, car on est toujours oblig� de remonter la fen�tre pour r�-acc�der au menu

  4. #4
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    Du coup je comprends pas tout... Si tu cliques sur un �l�ment de ton menu, tu veux qu'il se passe quoi s'il ne vas pas vers l'�l�ment qui est ancr� ?

  5. #5
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    le menu avec l'ancre et l'article vers lequel l'ancre pointe sont visibles dans le viewport sans que l'on soit oblig� de scroller ; le menu est au-dessus de l'article.
    Le comportement naturel d'une ancre fait qu'il y a un scroll jusqu'� l'article, et du coup �a dissimule le menu au dessus

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    ... et du coup �a dissimule le menu au dessus
    tu as visiblement plut�t un probl�me de conception de ta page.

  7. #7
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    Non pas de probl�me de conception, vu que le contenu de ma page est plus grand que la hauteur de mon �cran, �a scroll ; je veux juste savoir s'il est possible d�emp�cher ce comportement de scrolling en JS ? Certains sites avec des navigations en slide utilise des ancres et des target mais chez eux �a ne scroll pas ...

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Certains sites avec des navigations en slide utilise des ancres et des target mais chez eux �a ne scroll pas ...
    on veut des noms , cela aidera surement � comprendre ce que tu veux faire.

    Je tente une hypoth�se :
    Il me semble que tu cherches � faire appara�tre une partie du document directement dans la fen�tre d'affichage.
    Cela se g�re au chargement en pla�ant les �l�ments en position:absolute et en jouant sur leur position.

  9. #9
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    Arf pas de site exemple sous la main, par contre j'ai fait des sch�mas si �a peut aider :

    Nom : situation1.JPG
Affichages : 1672
Taille : 27,2 KoNom : situation2.JPG
Affichages : 1684
Taille : 18,5 Ko

    Donc en rouge la vue viewport qui contient ais�ment, l'article du lien 1 et celui du lien 2 et les menus contenant les liens ; par contre en cliquant sur lien 1, la vue viewport se positionne sur l'article 1 et du coup pour r� avoir acc�s au menu, on doit scroller.
    C'est le comportement naturel des ancres mais quand les articles et leurs liens sont visibles en m�me temps, c'est dommage de devoir faire ce scroll � chaque fois, est ce que c'est un peu plus clair ?

    Et sur mon site (encore en local) tous les articles sont en absolus, mais certains sont plus longs que d'autres et d�passent la taille de mon viewport, donc en cliquant sur un lien il n'y a qu'un article � chaque fois qui apparait, mais �a scroll � chaque fois ...

  10. #10
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    Donc en fait, une bonne solution ce serait de fixer ton menu (qu'il soit toujours visible) c'est �a ?

  11. #11
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    oui voil� mais pas de position: fixed si c'est � �a que tu penses lol, car �a fait moche

  12. #12
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    Ben c'est pourtant ce qu'il faut faire, mettre un fixed et mettre du css pour rendre ton menu sympa et qu'il s'int�gre bien dans la page.

    Sinon... je vois pas.

  13. #13
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    comme dit plus haut c'est un pb de conception de la page

    soit un page avec un menu et en dessous un div content
    et x div articles tous hidden positionn�s tous au m�me endroit que le div content (sous le menu)

    lorsque l'utilisateur clique sur un lien du menu le div article courant est cach� display:hidden et le div article cile est rendu visible display:block
    comme tous les div on la m�me position il s'affiche sous le menu sans scroll


    A+

  14. #14
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    oui c'est ce que j'ai fait, j'ai un div conteneur de tous mes articles sous mon menu. Tous mes articles sont en absolus et en hidden ; avec un target j'attribue aux articles la propri�t� visibility: visible mais les liens restent des ancres et pour le coup j'ai toujours l'effet de scroll ... Y a pas moyen en javascript de contourner cet effet de scroll ?

  15. #15
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Ok j'ai pig�
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#monAncre" onclick="showArticle(this); return false;">link</a>
    du coup le onclick ne fait que l'appel de la fonction et l'active pas le lien d'o� pas de scroll

    A+JYT

  16. #16
    Membre Expert

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par d�faut
    Si ta fonction "showArticle()" retourne false, �a marche aussi.

  17. #17
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut


    Ce n'est pas la m�me chose.
    Un attribut d'�v�nement HTML, par exemple
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#" onclick="fn2()">Cliquer</a>
    sera interpr�t� par JavaScript comme (si a correspond � la balise <a>) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    a.onclick = function fn1(){
        fn2();
    };
    ainsi, si fn2 renvoie false (ou tout autre r�sultat), c'est � fn1 que ce r�sultat est renvoy�, mais fn1 ne renvoie rien et le comportement par d�faut (aller � l'�l�ment ou la page cibl�) n'est pas inhib�, donc le lien est suivi.
    Alors que
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#" onclick="return fn2()">Cliquer</a>
    correspondra �
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    a.onclick = function fn1(){
        return fn2();
    };
    l�, si fn2 renvoie false, alors l'�v�nement et le comportement par d�faut seront bien inhib�s, tout comme dans le cas suivant :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#" onclick="fn2(); return false">Cliquer</a>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    a.onclick = function fn1(){
        fn2();
        return false;
    };
    Pour aller plus loin, en r�alit�, la traduction JavaScript d'un attribut d'�v�nement serait plut�t, si l'on reprend le premier code HTML
    qui lui peut se traduire ensuite en
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    a.onclick = eval("fn2()");
    ce qui explique pourquoi les attributs d'�v�nements sont loin d'�tre recommand�s.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  18. #18
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par Spartacusply Voir le message
    Si ta fonction "showArticle()" retourne false, �a marche aussi.
    dans ce cas il faut �crire
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#monAncre" onclick="return showArticle(this);">link</a>

    mais je suis d'accord avec bovino mieux
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#monAncre" id"monId">link</a>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    document.getElementById('monId').onclick = function () {
      //code qui affiche le div
      ...
      return false;
    }
    ou utiliser les m�thodes addEventListener attachEvent (qui malheureusement ne sont pas cross browser)

    A+JYT

  19. #19
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    Bonjour messieurs,

    merci d�j� de vos interventions sur ma probl�matique, j'ai donc essay� ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    document.getElementById('lien_cliqué').addEventListener("click",function(){
    document.getElementById('article_du_lien_cliqué').className = "visibilite"; return false;});
    et ma classe visibilit�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    #conteneur .visibilite
    {
    z-index: 1;
    visibility: visible;
    }
    mais cela ne fonctionne pas

    y a-t-il qqch que je fais mal ?

  20. #20
    Membre confirm�
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Janvier 2013
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par d�faut
    Avec onclick, il y a le return false pour bloquer l'action par d�faut de l'�v�nement ; mais comment faire de m�me avec un addEventListener ou un attachEvent ?

Discussions similaires

  1. Zoom et Scroll sur une PictureBox avec BackgroundImage
    Par Khoral dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 15/10/2009, 15h18
  2. navigation dans une jsp avec javascript
    Par petitelulu dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 15/11/2004, 18h55
  3. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    R�ponses: 3
    Dernier message: 02/06/2004, 10h51
  4. Erreur sur une fonction avec des param�tres
    Par Elois dans le forum PostgreSQL
    R�ponses: 2
    Dernier message: 05/05/2004, 21h00
  5. R�ponses: 4
    Dernier message: 27/04/2004, 14h45

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