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 :

Mouvement d'un menu (floating)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 43
    Points
    43
    Par défaut Mouvement d'un menu (floating)
    bonjours,

    je suis en train de faire ce site internet

    http://dovelakeglobal.com/test.html

    cependant le mouvement du menu que j'ai crée ne fait pas ce que je veut faire.

    ce que je veut faire est.

    quand je descends, le menu sur la page, soit, il suit l'image, puis des que l'image n'est plus afficher qu'il y est un espace de 10px

    je met des image explicatif.

    page d'ouverture
    http://dovelakeglobal.com/1.JPG

    et les images quand on descend la page
    http://dovelakeglobal.com/2.JPG

    et le bas de page
    http://dovelakeglobal.com/3.JPG


    comment je peut faire cela, cela fait 2 jour que je bat sur ce problème..


    voici le code

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
      <div id="sidebar1">
    <div id="divTopLeft"     style="position:absolute;">
     
    <ul id="navmenu">
          <li><a href="index.html">&nbsp;&nbsp;&nbsp;&nbsp;HOME PAGE</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Children's Page</a>
          <ul>
          	 <li><a href="#">Children Of Dove Lake</a></li>
              <li><a href="#">Pen Pals</a></li>
               <li><a href="#">Smiles & Fun Page</a></li>
               </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Housing</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Education</a>
            <ul>
              <li><a href="#">School</a></li>
              <li><a href="#">Vocational Training</a></li>
              <li><a href="#">Recreation</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Spiritual Center</a>
            <ul>
              <li><a href="#">Culture</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Clinic</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Farm</a>
            <ul>
              <li><a href="#">Agriculture</a></li>
              <li><a href="#">Aquaculture</a></li>
              <li><a href="#">Processing</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Business Center</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Hotel</a>
          <ul>
              <li><a href="#">Conventions / Meetings</a></li>
              <li><a href="#">Holidays</a></li>
              <li><a href="#">SPA / Wellness Center</a></li>
            </ul>
          </li>
     
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Energy</a>
            <ul>
              <li><a href="#">Wind</a></li>
              <li><a href="#">Solar</a></li>
              <li><a href="#">Alternative Energy Research Lab</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Health / Nutrition</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Amenities</a>
            <ul>
              <li><a href="#">x-1</a></li>
              <li><a href="#">x-2</a></li>
              <li><a href="#">x-3</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Employment / Volunteers</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Events</a>
            <ul>
              <li><a href="#">Holidays</a></li>
              <li><a href="#">Entertainment</a></li>
            </ul>
          </li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Gift Store</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Dream Page</a></li>
          <li><a href="SendMail.html">&nbsp;&nbsp;&nbsp;&nbsp;Contact Info</a></li>
          <li><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;Recommended Sites</a></li>
        </ul>
     
     
     
     
     
      </div>
     
      </div>
     
     
    <script type="text/javascript">
    var ns = (navigator.appName.indexOf("Netscape") != -1);
    var d = document;
    function JSFX_FloatDiv(id, sx, sy)
    {
    	var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
    	var px = document.layers ? "" : "px";
    	window[id + "_obj"] = el;
    	if(d.layers)el.style=el;
    	el.cx = el.sx = sx;el.cy = el.sy = sy;
    	el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
     
    	el.floatIt=function()
    	{
    		var pX, pY;
    		pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
    		document.documentElement && document.documentElement.clientWidth ? 
    		document.documentElement.clientWidth : document.body.clientWidth;
    		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
    		document.documentElement.scrollTop : document.body.scrollTop;
    		if(this.sy<0) 
    		pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
    		document.documentElement.clientHeight : document.body.clientHeight;
    		this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
    		this.sP(this.cx, this.cy);
    		setTimeout(this.id + "_obj.floatIt()", 40);
    	}
    	return el;
    }
    JSFX_FloatDiv("divTopLeft", 0,0).floatIt();
    </script>
    <!-- ********************************************************* -->
    </div>

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour

    il faudrait que le deplacement du menu commence a partir du moment ou la position du scroll soit egale a la position de demmarage -10px du menu le 10 etant la marge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(document.body.scrollTop>=document.getElementById('monmenu').offsetTop-10){
    ici se trouve la fonction pour le menu
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 43
    Points
    43
    Par défaut cela ne fonctionne toujours pas
    re-bonjours

    je vient de faire la modifications que vous m'avez donné.
    cependant cela ne fonctionne toujours pas, sauf si j'ai mal comprit, car je jacascript, n'est vraiment pas ma tasse de thé.

    voici ce que j'ai fait suite a votre aide

    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
    39
    40
     
    <script type="text/javascript">
    if(document.body.scrollTop>=document.getElementById('divTopLeft').offsetTop-10)
    {
     
    var ns = (navigator.appName.indexOf("Netscape") != -1);
    var d = document;
    function JSFX_FloatDiv(id, sx, sy)
    {
    var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
    var px = document.layers ? "" : "px";
    window[id + "_obj"] = el;
    if(d.layers)el.style=el;
    el.cx = el.sx = sx;
    el.cy = el.sy = sy;
    el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
    el.floatIt=function()
    {
    var pX, pY;
    pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
    document.documentElement && document.documentElement.clientWidth ? 
    document.documentElement.clientWidth : document.body.clientWidth;
    pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
    document.documentElement.scrollTop : document.body.scrollTop;
    if(this.sy<0) 
    pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
    document.documentElement.clientHeight : document.body.clientHeight;
    this.cx += (pX + this.sx - this.cx)/8;
    this.cy += (pY + this.sy - this.cy)/800;
    this.sP(this.cx, this.cy);
    setTimeout(this.id + "_obj.floatIt()", 40);
    }
    return el;
    }
     
    JSFX_FloatDiv("divTopLeft", 0,0).floatIt();
     
    }
    </script>
    <!-- ********************************************************* -->

  4. #4
    Invité
    Invité(e)
    Par défaut
    en imaginant la fonction la plus simple sa donne ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function depl (){
    if(document.body.scrollTop>=document.getElementById('monmenu').offsetTop-10){
    document.getElementById('monmenu').style.top=document.body.scrollTop
    }
    }
    la fonction se declenche par l'ajout de l'evenement onscroll

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 43
    Points
    43
    Par défaut
    eh bé, je ne comprend pas grand chose a cela, je vais essayer de bidouiller
    comme, je commence en JS c pas aussi facile par rapport au php

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 43
    Points
    43
    Par défaut
    en bidouillant, j'ai presque réussis a faire ce que je voulais faire, mais
    le menu monte plus vite que l'assenseeur descend, et il ne stop pas a la hauteur de 10px

    voici ce que j'ai modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.cy -= (pY - this.sy + this.cy)/8;
    comment je peut faire, car que ce mekal m'a fournis, je n'ai pas sus l'appliquer.

    voici ce que cela donne http://www.dovelakeglobal.com

Discussions similaires

  1. [C#]floating Toolstrip menu
    Par caccal dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/02/2012, 17h51
  2. question : mouvement d'un menu
    Par the_snip dans le forum jQuery
    Réponses: 1
    Dernier message: 14/12/2011, 01h57
  3. mouvement d'un menu
    Par guillaume2vo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/11/2009, 11h32
  4. float menu superposition
    Par keub51 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/04/2007, 21h29
  5. Menu qui suit le mouvement de la page
    Par Béarmac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/04/2006, 16h13

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