Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2422 connectés 

 


Dernière réponse
Sujet : [DHTML & ie] layer
Roswell_ faut utiliser l'objet layer de netscape a la place, mais c'est chiant de faire  2 version bon courage. http://developer.netscape.com/
En plus il y a des chose qu'on changer avec Netscape6 trop cool :sweat:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Roswell_ faut utiliser l'objet layer de netscape a la place, mais c'est chiant de faire  2 version bon courage. http://developer.netscape.com/
En plus il y a des chose qu'on changer avec Netscape6 trop cool :sweat:
darkoli oui je sais mais la version netscape je la ferais plus tard. D'ailleurs si quelqu'un peut me dire ce qu'il faut modifier pour que ca fonctionne sous netscape (il marche super bien sur ie).
 
j'utilise des div et je les fait bouger en javascript.
Roswell_ C'est plutot jolie sur ie mais sur netscape ça marche pas :(
darkoli c'est un menu en html et javascript. recupere le code et met dans un fichier html. ouvre le ensuite avec ie5 et la tu saura. ok
Toucouch C'est quoi que t'es en train de faire?
darkoli le menu marche bien mais si je mets une frame, ben il est caché dessous c'est pas bien et je ne peux pas recharger le menu à chaque page !!
 
voici mon code html/javascript :
 
 
<html>
<head>
 <title>Toto is back</title>
 <style>
   body{font-family:courier new;font-size:16px}
   input{font-size:50px}
 </style>
</head>
<body>
<script language="javascript">
  var nom=new Array("m1","m2","m3","m11","m12","m13","m14","m15","m21","m22","m23","m31","m32","m33","m34","m111","m112","m113","m114","m115","m116","m117","m121","m122","m123","m124","m131","m132","m141","m142","m143","m144" );
  var lib=new Array("Présentation","Développement","Multimedia","Générale","Technique","Développement","sdfgsdfgsdfgs","dfg","fdsgsdfgds","sdfgdsgsdgfsd","gdf","dfgsdfgsdfsgd","dfgds","dfgsfdgsdfgsd","fdsgsdfgsdfgsdf","dfgsdfg","fgsdfgsfdg","dfg dfs dfsg","dsfg dfgdsg dg gg dfd","dfggfdsgdf","dgfgdfgdfg","fdgs fdgd","hjjkhkhl","sdsdgsdqf","dsfgfsd","fgsfd","fdgsfdgsdfgsdf","fdgfdsgsd","fdgfds","dfgdsf","sdfgsd","Bonjour Ca Va ?" );
  var y=0;
  var m=new Array(3);
  var nb=0;
  var px=2;
  var py=2;
  var old=-1;
  var mx=5;
  var ani=0;
  var tmr;
  var ost=0;
  var dst=0;
 
  function menu(n) {
    this.d=n;
    this.nb=0;
    this.sm=new Array();
    this.o=0;
    this.x=0;
    this.y=0;
    this.dx=0;
    this.dy=0;
    this.p=mx+1;
    this.old=-1;
    }
 
  function fd(n,l,i) {
    var t=n.length-2;
    var ln=0;
    var i1=-1;
    var i2=-1;
    var i3=-1;
    var z="";
    var st="<div id=\""+n+"\" style=\"position:absolute;left:0px;top:0px;";
    st=st+"font-weight:bold;color:FFFFFF;border-style:solid;border-width:1px;"
    switch (t) {
      case 0 :
        i1=parseInt(n.charAt(1), 36);
        if (isNaN(i1)==false) {
          i1--
          if (i1==nb) {
            nb++;
            m[i1]=new menu(n);
            z="m["+i1+"]";
            }
          }
        ln=(l.length+2)*13.1;
        st=st+"width:"+ln+"px;height:25px;font-size:20px;background-color:0040FF;border-color:404040;visibility:visible;"
        break;
      case 1 :
        i1=parseInt(n.charAt(1), 36);
        if (isNaN(i1)==false) {
          i1--;
          if ((i1>=0) && (i1<nb)) {
            i2=parseInt(n.charAt(2), 36);
            if (isNaN(i2)==false) {
              i2--;
              if (i2==m[i1].nb) {
                m[i1].nb++;
                m[i1].sm[i2]=new menu(n);
                z="m["+i1+"].sm["+i2+"]";
                }
              }
            }
          }
        ln=(l.length+2)*12;
        st=st+"width:"+ln+"px;height:23px;font-size:18px;background-color:0080FF;border-color:808080;visibility:hidden;"
        break;
      case 2 :
        i1=parseInt(n.charAt(1), 36);
        if (isNaN(i1)==false) {
          i1--;
          if ((i1>=0) && (i1<nb)) {
            i2=parseInt(n.charAt(2), 36);
            if (isNaN(i2)==false) {
              i2--;
              if ((i2>=0) && (i2<m[i1].nb)) {
                i3=parseInt(n.charAt(3),36);
                i3--;
                if (i3==m[i1].sm[i2].nb) {
                  m[i1].sm[i2].nb++;
                  m[i1].sm[i2].sm[i3]=new menu(n);
                  z="m["+i1+"].sm["+i2+"].sm["+i3+"]";
                  }
                }
              }
            }
          }
        ln=(l.length+2)*11;
        st=st+"width:"+ln+"px;height:21px;font-size:16px;background-color:00A0FF;border-color:A0A0A0;visibility:hidden;"
        break;
      }
    st=st+"\" onMouseOver=\"f1(this,"+i1+","+i2+","+i3+","+z+" )\" onMouseOut=\"f2(this)\" onClick=\"f3("+i+" )\"> "+l+"</div>";
    return(st);
    }
 
  function pos_menu() {
    var x=px;
    var y=py;
    var x1=0
    var y1=0;
    var x2=0;
    var y2=0;
    for (var i=0;i<nb;i++) {
      m[i].d.left=x;
      m[i].d.top=y;
      m[i].x=x;
      m[i].y=y;
      m[i].dx=x;
      m[i].dy=y;
      if (m[i].nb>0) {
        x1=x;
        y1=y+parseInt(m[i].d.height)+4;
        for (var j=0;j<m[i].nb;j++) {
          m[i].sm[j].x=x;
          m[i].sm[j].y=y;
          m[i].sm[j].dx=x1;
          m[i].sm[j].dy=y1;
          if (m[i].sm[j].nb>0) {
            x2=x1+parseInt(m[i].sm[j].d.width)+3;
            y2=y1;
            for (var k=0;k<m[i].sm[j].nb;k++) {
              m[i].sm[j].sm[k].x=x;
              m[i].sm[j].sm[k].y=y1;
              m[i].sm[j].sm[k].dx=x2;
              m[i].sm[j].sm[k].dy=y2;
              y2=y2+parseInt(m[i].sm[j].sm[k].d.height)+2;
              }
            }
          y1=y1+parseInt(m[i].sm[j].d.height)+3;
          }
        }
      x=x+parseInt(m[i].d.width)+4;
      }
    }
 
  function rp() {
    for (var i=0;i<3;i++) {
      m[i].dy=m[i].dy+dst;
      m[i].d.top=m[i].dy;
      m[i].y=m[i].y+dst;
      m[i].d.top=m[i].y;
      if (m[i].p>mx) m[i].p=mx;
      for (var j=0;j<m[i].nb;j++) {
        m[i].sm[j].dy=m[i].sm[j].dy+dst;
        m[i].sm[j].d.top=m[i].sm[j].dy;
        m[i].sm[j].y=m[i].sm[j].y+dst;
        m[i].sm[j].d.top=m[i].sm[j].y;
        if (m[i].sm[j].p>mx) m[i].sm[j].p=mx;
        for (var k=0;k<m[i].sm[j].nb;k++) {
          m[i].sm[j].sm[k].dy=m[i].sm[j].sm[k].dy+dst;
          m[i].sm[j].sm[k].d.top=m[i].sm[j].sm[k].dy;
          m[i].sm[j].sm[k].y=m[i].sm[j].sm[k].y+dst;
          m[i].sm[j].sm[k].d.top=m[i].sm[j].sm[k].y;
          if (m[i].sm[j].sm[k].p>mx) m[i].sm[j].sm[k].p=mx;
          }
        }
      }
    ani=1;
    bg();
    }
 
  function bg() {
    var bn=0;
    var tmp=document.body.scrollTop;
    if (ani==1) {
      for (var i=0;i<nb;i++) {
        for (var j=0;j<m[i].nb;j++) {
          if (m[i].sm[j].p<=mx) {
            m[i].sm[j].d.left=m[i].sm[j].x+(((m[i].sm[j].dx-m[i].sm[j].x)/mx)*m[i].sm[j].p);
            m[i].sm[j].d.top=m[i].sm[j].y+(((m[i].sm[j].dy-m[i].sm[j].y)/mx)*m[i].sm[j].p);
            m[i].sm[j].p++;
            bn++;
            }
          for (var k=0;k<m[i].sm[j].nb;k++) {
            if (m[i].sm[j].sm[k].p<=mx) {
              m[i].sm[j].sm[k].d.left=m[i].sm[j].sm[k].x+(((m[i].sm[j].sm[k].dx-m[i].sm[j].sm[k].x)/mx)*m[i].sm[j].sm[k].p);
              m[i].sm[j].sm[k].d.top=m[i].sm[j].sm[k].y+(((m[i].sm[j].sm[k].dy-m[i].sm[j].sm[k].y)/mx)*m[i].sm[j].sm[k].p);
              m[i].sm[j].sm[k].p++;
              bn++;
              }
            }
          }
        }
      }
    if (tmp!=ost) {
      dst=tmp-ost;
      ost=tmp;
      rp();
      }
    if (bn<1) {
      ani=0;
     // clearInterval(tmr);
      }
    }
 
  function ferme(o) {
    for (var i=0;i<o.nb;i++) {
      if (o.sm[i].nb>0) ferme(o.sm[i]);
      o.sm[i].d.visibility="hidden";
      o.sm[i].p=mx+1;
      }
    o.old=-1;
    }
 
  function ouvre(o) {
    for (var i=0;i<o.nb;i++) {
      if (o.sm[i].nb>0) ferme(o.sm[i]);
      o.sm[i].d.left=o.sm[i].x;
      o.sm[i].d.top=o.sm[i].y;
      o.sm[i].p=0;
      o.sm[i].d.visibility="visible";
      }
    if (ani==0) {
      ani=1;
     // tmr=setInterval("bg()",1);
      }
    }
 
  function f1(zz,i1,i2,i3,o) {
    zz.style.fontWeight="900";
    if (i2==-1) {
     // menu de niveau 0
      if (old!=-1) {
        if (old!=i1) {
          ferme(m[old]);
          ouvre(m[i1]);
          old=i1;
          }
        }
      else {
        ouvre(m[i1]);
        old=i1;
        }
      }
    else {
      if (i3==-1) {
       // menu de niveau 1
        if (m[i1].old!=-1) {
          if (m[i1].old!=i2) {
            ferme(m[i1].sm[m[i1].old]);
            ouvre(m[i1].sm[i2]);
            m[i1].old=i2;
            }
          }
        else {
          ouvre(m[i1].sm[i2]);
          m[i1].old=i2;
          }
        }
      }
    }
 
  function f2(zz) {
    zz.style.fontWeight="bold";
    }
 
  function f3(n) {
    alert(lib[n]);
    }
 
  function ini() {
    var tmp=0;
    var m1=0;
    var m2=0;
    var dvs="";
 
    for (var i=0;i<nom.length;i++) {
      dvs=fd(nom[i],lib[i],i)+dvs;
      }
    document.write(dvs);
    for (var i=0;i<3;i++) {
      eval("m[i].d=document.all."+m[i].d+".style;" );
      m1=0;
      for (var j=0;j<m[i].nb;j++) {
        eval("m[i].sm[j].d=document.all."+m[i].sm[j].d+".style;" );
        tmp=parseInt(m[i].sm[j].d.width);
        if (tmp>m1) m1=tmp;
        m2=0;
        for (var k=0;k<m[i].sm[j].nb;k++) {
          eval("m[i].sm[j].sm[k].d=document.all."+m[i].sm[j].sm[k].d+".style;" );
          tmp=parseInt(m[i].sm[j].sm[k].d.width);
          if (tmp>m2) m2=tmp;
          }
        for (var k=0;k<m[i].sm[j].nb;k++) m[i].sm[j].sm[k].d.width=m2;
        }
      for (var j=0;j<m[i].nb;j++) m[i].sm[j].d.width=m1;
      }
    }
 
  ini();
  pos_menu();
  tmr=setInterval("bg()",1);
</script>
</body>
</html>
 
 :cry:

 

[edit]--Message édité par darkoli--[/edit]

darkoli ok merci mais est ce que une iframe c'est une frame. Parce que j'ai deux pages a afficher dans la meme. En utilisant les layers c'est theoriquement faisable mais ca marche pas.
 
en fait je veux afficher un menu et en dessus mettre une page html sans que le menu soit caché par la page html. Est ce que c'est possible avec une iframe. (c'est quoi une iframe) ?
duch ça marche avec IE mais il faut utiliser IFRAME, d'ailleurs je précise que la méthode layer.load ne fonctionne pas super bien sur NS.
Pour IE tu peux utiliser nomiframe.location.href, car une iframe se comporte comme une frame.
darkoli normalement, il est possible modifier la page html qui est affichée dans un layer en utilisant la méthode layer.load(url). Est ce que ca marche avec ie et quelle version faut-il ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)