menu accordeon

TO LET OPINIONS , QUESTION , REQUEST or JUST FOR LET FRIENDLY MESSAGE

menu accordeon

Postby jeanpaps on Sat Apr 26, 2008 1:02 pm

salut rad

merci pour tes conseils de la dernière fois sur les tuto dhtml (je connaissais certains sites déjà, mais vu que c'est en anglais c'est plus dur :( )
du coup j'ai acheter un bouquin pour débuter en javascript et puis on verra si ça me saoule ou pas à terme... :?

---- "patience est maitresse de raison" comme dirait l'autre !! -----

bref mon problème aujourd'hui est double :D

je fais un petit site pour un copain et je lui ai mis un menu accordéon très simple à paramétrer au niveau des css (de Gérard Ferrandez, je suis sur que tu connais :wink:)
mais j'aimerai que ce menu soit fermé au départ (j'ai eu beau trifouiller dans tout le script j'ai pas trouvé :cry:)

voici le code :

Code: Select all
var object = new Array();

function Slide(N,oCont){
   this.N  = N;
   this.S  = 1.1;
   this.object = new Array();

   this.CObj = function (parent,N){

      this.parent = parent;
      this.N = N;
      this.obj = parent.frm[N];
      this.tit = this.obj.firstChild;
      this.div = this.obj.getElementsByTagName("div")[1];
      this.div.style.visibility = "hidden";
      this.y0 = N * 18;
      this.Y1 = this.y0;
      this.obj.style.top = this.y0;
      this.obj.style.height = parent.H - (parent.NF-1) * 18 - 3;
      this.obj.style.visibility = "visible";
      this.obj.parent = this;
      this.run = false;

      this.move = function(){
         with(this){
            dy = (y1-y0)/parent.S;
            if(Math.abs(dy)>.1){
               y0+=dy;
               obj.style.top = Math.round(y0);
               setTimeout("object["+parent.N+"].object["+N+"].move();", 16);
            } else {
               run = false;
               if(dy>0)div.style.visibility="hidden";
               else if(N>0)parent.object[N-1].div.style.visibility="hidden";
            }
         }
      }

      this.obj.onmouseover = function(){
         with(this.parent){
            if(!run){
               run = true;
               div.style.visibility="visible";
               for(i=0;i<parent.NF;i++)parent.object[i].tit.className = "title";
               tit.className = "title_o";
               for(i=0;i<=N;i++){
                  parent.object[i].y1 = i*18;
                  parent.object[i].move();
               }
               for(i=N+1;i<parent.NF;i++){
                  parent.object[i].y1 = parent.H-(parent.NF-i)*18;
                  parent.object[i].move();
               }
            }
         }
      }
   }

   this.frm = document.getElementById(oCont);
   this.H = parseInt(this.frm.style.height);
   this.frm = this.frm.getElementsByTagName("span");
   this.NF = this.frm.length;
   for(i=0;i<this.NF;i++) this.object[i] = new this.CObj(this, i);
   this.object[0].obj.onmouseover();
   this.S = 10;
}

onload = function() {
   object[0] = new Slide(0, "frames");
}


Si tu connais le petit truc tant mieux sinon c'est pas grave je ferais sans :D

Deuxièmement
j'ai remarqué que ce menu ne marchait pas quand il y avait écrit dans ma page :

Code: Select all
<!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">


Pourrais-tu m'expliquer pourquoi si tu le sais (et ya -t-il un moyen d'y remédier ?) et est-ce que c'est grave ou non docteur car du coup une validation w3c xhtml n'est pas possible ?!

merci d'avance
@bientot

jean paps
User avatar
jeanpaps
 
Posts: 27
Joined: Thu Nov 29, 2007 12:09 pm

Re: menu accordeon

Postby RAD on Sat Apr 26, 2008 1:04 pm

SALUT

il faudrais voir tout le script ?

heuu j avais pas vue !! il y est :D
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: menu accordeon

Postby RAD on Sat Apr 26, 2008 1:08 pm

tu as un lien vers la version en ligne ?
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: menu accordeon

Postby jeanpaps on Sat Apr 26, 2008 1:23 pm

User avatar
jeanpaps
 
Posts: 27
Joined: Thu Nov 29, 2007 12:09 pm

Re: menu accordeon

Postby RAD on Sat Apr 26, 2008 2:30 pm

bon pour fermer le premier c est complique ! il faut retoucher pas mal le script !!

le onload appelle la div "frame" et c est elle qui s ouvre et pas l accordeon !!

mais il existe des solutions bien plus facile a mettre en place !

avec la librairie yahoo ui par exemple !

ou "mootools" http://demos.mootools.net/Accordion

"scriptaculous" http://blogs.grf-design.com/archives/20 ... effec.html

en voici un autre
http://demos.openrico.org/demos/accordion
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: menu accordeon

Postby jeanpaps on Sat Apr 26, 2008 2:49 pm

merci rad

j'en connaissais dejà mais celui-ci me plaisait bien car il était très fluide
sinon si tu as l'explication pour l'histoire du html qui fait que le script ne marche pas ; saurais tu m'éclairer ?

dernière chose
acceptes-tu que je mettes ton site en lien sur mon site perso (pour plein de raisons) mais surtout pour te remercier de tout ce que m'as apporté ??

si oui je te donnerais mon adresse (c'est un site de mes travaux en vidéos - je suis cinéaste mais je n'en vis pas encore :cry: )

merci encore d'avoir répondu rapidement

jean paps
User avatar
jeanpaps
 
Posts: 27
Joined: Thu Nov 29, 2007 12:09 pm

Re: menu accordeon

Postby RAD on Sat Apr 26, 2008 2:59 pm

SALUT

il y as certaine valeur qui ne passe pas en XHTML ce script doit rester en HTML !!!!!

oui bien sur tu peux mettre un lien vers mon site :-))

j ai meme des petites bannieres si tu veux :-))
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: menu accordeon

Postby jeanpaps on Tue Apr 29, 2008 9:37 am

salut rad

désolé de ne pas avoir répondu plus tôt :oops:

voila l'adresse de mon site http://www.gillespailhe.com

il n'est pas encore fini mais ça avance doucement (notamment la rubrique "photo" et "extras")
et je t'ai mis bien sur dans la rubrique "lien" :D logique non ?

@ bientot pour d'autres conseils certainement
gilles dit jeanpaps (ou papoulepaps)

ps : faudra te filer une médaille un jour :wink:
User avatar
jeanpaps
 
Posts: 27
Joined: Thu Nov 29, 2007 12:09 pm

Re: menu accordeon

Postby RAD on Tue Apr 29, 2008 9:23 pm

SALUT
jeanpaps

sympa ton site :) j irais le voir un peu mieux ce week end , car la j ai une connection pourris a l hotel ou je suis cette semaine !!

a+
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am


Return to RAD ZONE FORUM

Who is online

Users browsing this forum: No registered users and 1 guest

cron