Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Problème de Script]Créer un menu circulaire

    14 novembre 2008 à 19:18:57

    Bonjour,
    j'ai suivie le tuto pour faire un menu circulaire a la lettre et je n'arrive pas a le faire marcher :s
    Alors, voilà mon code


    menu.html :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <title>Menu</title>
    <link type="text/css" rel="stylesheet" href="minimal.css" />
    <script type="text/javascript" src="js/menujs.js"></script>
    </head>
    <body onload="menu(5);">
    
    <div id="menu" onmouseover="stopanim();" onmouseout="replayanim();"> 
    <h2>Menu</h2> 
    <div id="centre">Centre</div>
    
    <ul>
    <li id="Acceuil">Acceuil</li>
    <li id="Métier">Métier</li>
    <li id="Exemple">Exemple</li>
    <li id="Presentation">Presentation</li>
    <li id="Lexique">Lexique</li> 
    </ul>
    </div>
    
    </body>
    </html>
    

    menujs.js :
    var c = 0;
    var nb2;	  
    var timer;
    
    function menu(nb)
    {
     var a = 360 / nb;		
     nb2 = nb;
     var posX;
     var posY;
     var rayon = 60;
     var centreX = document.getElementById("centre").offsetLeft;
     var centreY = document.getElementById("centre").offsetTop;
     var lItem = 20;
     var i = 1;
     var item;
     var b;
     
    for(b = 0; b < 360; b += a)
     {		  
      posX = centreX + 25 + rayon * Math.cos(b * Math.PI / 180);
      posY = centreY + 25 + rayon * Math.sin(b * Math.PI / 180); 
      
      item = document.getElementById("item" + i);
      item.className = "item";	
      item.style.top = (posY - lItem / 2) + "px"; 
      item.style.left = (posX - lItem / 2) + "px";
      i++;
     }
    }
    function anim()
    {		  
     c++;
     var a = 360 / nb2;		
     var posX;
     var posY;
     var rayon = 70;
     var centreX = document.getElementById("centre").offsetLeft;
     var centreY = document.getElementById("centre").offsetTop;
     var lCentre = 50;
     var lItem = 20;
     var i = 1;
     var item
     var b;
    
     for(b = 0; b < 360; b = b + a)
     {		  
      posX = centreX + 25 + rayon * Math.cos((b + c) * Math.PI / 180);
      posY = centreY + 25 + rayon * Math.sin((b + c) * Math.PI / 180); 
      
      item = document.getElementById("item" + i);
      item.style.top = (posY - lItem / 2) + "px"; 
      item.style.left = (posX - lItem / 2) + "px";
      i++;
     }	
    }
    timer = setInterval("anim()",50);
    function stopanim()
    {
     clearInterval(timer);		   
    }
    
    function replayanim()
    {
     timer = setInterval("anim()",50);
    }
    




    En faite, sur ma page il y a juste d'afficher


    Menu
    Centre

    * Acceuil
    * Métier
    * Exemple
    * Presentation
    * Lexique

    le fichier menujs.js est situé dans un sous dossier nommer js.

    merci de votre aide


    Cdlt
    morbent
    • Partager sur Facebook
    • Partager sur Twitter
      15 novembre 2008 à 0:17:27

      Un truc vachement bien qui pourrait nous aider à t'aider, ce serait d'utiliser les bonnes balises pour la présentation de ton post.

      <html>
          <head>
              <title>Par Exemple :</title>
          </head>
          <body>
              <div>Celle qui présente bien le HTML</div>
          </body>
      </html>
      


      alert("ça existe aussi pour le javascript...");
      
      • Partager sur Facebook
      • Partager sur Twitter

      [Problème de Script]Créer un menu circulaire

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown