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 :

Scroll Top position


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut Scroll Top position
    Bonjour,
    J'ai le code js suivant qui me permet de scroler ma div contenu qui contient une série de liens <ul><li> avec du js et css. Jusqu'ici tout va bien.

    Par contre, je souhaiterais modifier mon code de sorte que chaque fois que je click sur un lien que le lien cliqué se retrouve en position top de ma div.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Dans mon head
    <script language="text/javascript">
    var Timer;
    var Pas = 4;
     
      function scroller(Sens)
      {	
           if(document.getElementById)
              Slide = document.getElementById("contenu");
           else
        	   Slide = document.all["contenu"];
            if(parseInt(Slide.style.top) + (Pas*Sens) > 0)
           {
            	Slide.style.top = "0px";
            }
            else if(parseInt(Slide.style.top) + (Pas*Sens) < -250)
            {
            	Slide.style.top = "-250px";
            }
            else
            	Slide.style.top = (parseInt(Slide.style.top) + (Pas*Sens)) + "px";
            	Timer = setTimeout("scroller(" + Sens + ");", 1);
      }
    </head>
     
    Mon html
     
     
      <div id="contenu">
    		<ul>
    		  <li><a href="onClick="scroller()"">Lien 1</a></li>
    		  <li><a href="onClick="scroller()"">Lien 2</a></li> 
    		  <li><a href="onClick="scroller()"">Lien 3</a></li>
    		  <li><a href="onClick="scroller()"">Lien 4</a></li>
    		  <li><a href="onClick="scroller()"">Lien 5</a></li>
    		</ul>
      </div>
    Quelqu'un peut-il m'orienter ?

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    il faudrait préciser, parce que si tu cliques sur un lien, tu changes de page ...

    Si le lien pointe sur la même page, il suffit d'utiliser les ancres (pur HTML, donc).

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    il faudrait préciser, parce que si tu cliques sur un lien, tu changes de page ...

    Si le lien pointe sur la même page, il suffit d'utiliser les ancres (pur HTML, donc).

    A+
    Non Bzz je reste sur la mm page. Les liens c'est juste pour faire actionner ma fonction scroll au clik. J'ai effectivement modifié mon code en haut car il manquait cette précision !

    Merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par yamatoshi Voir le message
    Non Bzz je reste sur la mm page. Les liens c'est juste pour faire actionner ma fonction scroll au clik. J'ai effectivement modifié mon code en haut car il manquait cette précision !
    Alors on va faire autrement (parce que je comprends pas exactement ce que tu veux par rapport à ce que tu as déjà) :
    qu'est-ce qui ne convient pas dans ton code actuel ?

    A+

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Huolà !
    J'avais pas vu ton EDIT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li onclick="scroller();">Lien 1</li>
    serait préférable ...

    A+

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut
    E Bezz ma fonction marche correctement. En fait je souhaiterais arriver à la même chose que ce qui a été fait ici en flash.



    Regarde le scroller à droite. Pour ma part j'ai réussi à faire le défilement quand je click sur le bouton haut et bas. J'ai aussi réussi à faire le hover qui se maintien en fonction de la box que je clik mais là où je sèche c'est une fois cliqué sur la box, qu'elle puisse remonté en position top.

    La fonction que j'utilise pour mes bouton up et et down est la suivante

    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
    19
    20
    21
    var Timer;
    var Pas = 4;
     
      function scroller(Sens)
      {	
           if(document.getElementById)
              Slide = document.getElementById("contenu");
           else
        	   Slide = document.all["contenu"];
            if(parseInt(Slide.style.top) + (Pas*Sens) > 0)
           {
            	Slide.style.top = "0px";
            }
            else if(parseInt(Slide.style.top) + (Pas*Sens) < -250)
            {
            	Slide.style.top = "-250px";
            }
            else
            	Slide.style.top = (parseInt(Slide.style.top) + (Pas*Sens)) + "px";
            	Timer = setTimeout("scroller(" + Sens + ");", 1);
      }
    Merci

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par yamatoshi Voir le message
    ma fonction marche correctement.
    Telle que tu l'appelles là haut, ça m'étonne

    Sinon, pour le positionner en haut, il faut que son offsetTop (par rapport au conteneur, donc) soit égal à 0px ...

    Mais tout dépend des propriétés CSS des différents éléments.

    A+

Discussions similaires

  1. scroll top et application de style
    Par grandsachem dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/02/2014, 11h24
  2. Réponses: 8
    Dernier message: 19/03/2011, 22h50
  3. scroll et position de div
    Par anas.bah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2009, 14h18
  4. Iframe et Scroll Top
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2009, 17h24
  5. Events onclick provoque scrolling top page
    Par speedev dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/12/2007, 12h32

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