alexs Posté 3 Juin 2006 Partager Posté 3 Juin 2006 Bonjour, Je suis en train de faire un petit site avec un frameset de 2 colonnes. Mes menus qui sont dans le frame de gauche changent le contenu dans celui de droite. le site en developpement ici J'ai developpé dans le <head> 3 petites fonctions JS qui devraient gerer le changement du lien courant afin que l'on sache dans quelle page on se trouve: <script language="JavaScript">function linkon(name) { if (name != null) { getElementById(name).class='current'; }}function linkoff(name) { if (name != null) { getElementById(name).class='nocurrent'; }}curlink = 'linkabout';function cur(name) { if (curlink != null) linkoff(curlink); curlink = name; linkon(name);}</script> puis mes menus dans le <body>: <p><a href="about.html" target="mainFrame" id="linkabout" onClick="cur('linkabout')" >About Artsa</a><br><a href="event.html" target="mainFrame" id="linkevent" onClick="cur('linkevent')">Our Event</a><br><a href="contact.html" target="mainFrame" id="linkcontact" onClick="cur('linkcontact')">Contact Us</a></p><p><a href="contact.html" target="mainFrame" class="current">current</a><br><a href="contact.html" target="mainFrame" class="nocurrent">nocurrent</a></p> (J'ai mis les menus current et nocurrent pour illustrer ce que font les 2 classes du même nom) Evidemment ca ne marche pas et je ne parvient pas à savoir pourquoi... Est ce que quelqu'un voit ou est le bug? Lien vers le commentaire Partager sur d’autres sites More sharing options...
broadcastor Posté 4 Juin 2006 Partager Posté 4 Juin 2006 Bonjour, alors, pour repondre a ton probleme, 2 questions : - pourquoi les frames ? - pourquoi le javascript ? Pour repondre a la premiere question , suit ce lien Pour repondre a la deuxieme, voici une solution pour faire tout ce que tu veux en 40 lignes en quelques lignes CSS-XHTML. VOici le html: page blablabla: <body id="pageBlablabla"> page blabla: <body id="pageBlabla"> <div id="menu"> <ul> <li><a href="blablabla.php" id="blablabla" title="" accesskey=""><span>blablabla</span></a></li> <li><a href="blabla.php" id="blabla" title=""><span>blabla</span></a></li> </ul></div> Et la css body#pageBlablabla a#blablabla, body#pageBlablaa#blabla, (...) { color:#88030A; (...) } Voilou Lien vers le commentaire Partager sur d’autres sites More sharing options...
alexs Posté 4 Juin 2006 Auteur Partager Posté 4 Juin 2006 (modifié) Bonjour et merci pour tes conseils, Malheureusement le frame est une contrainte de mon clients (meme si je ne l'approuve pas particulierement je dois m'y plier) car il tient a ce que son menu ne "saute" pas au chargement d'une nouvelle page (le menu lui ne doit pas être rechargé)... Si il y a avait une solution css qui respectait cette contrainte je m'y mettrais avec plaisir mais je n'en ai pas trouvé... inks.ch par exmemple est un site qui gere tres bien cela avec le JS Toutefois ses menus sont des images tandis que les miens sont de simple lien et je dois dire que je ne connais pas asser le JS pour changer son code... bref je suis un peu perdue la... Modifié 4 Juin 2006 par alexs Lien vers le commentaire Partager sur d’autres sites More sharing options...
broadcastor Posté 4 Juin 2006 Partager Posté 4 Juin 2006 Tu pourrais me montrer des exemples de menus en CSS qui sautent, parce que si c'est bien fait c'est en bien fait, que les images sont pas enormes, la css est mise en cache, puis les images, ça va meme plus vite qu'avec une frame. Lien vers le commentaire Partager sur d’autres sites More sharing options...
alexs Posté 5 Juin 2006 Auteur Partager Posté 5 Juin 2006 théoriquement ca pourrait sauter puisque le menu est rechargé avec le reste de la page, et mon client tiens a ce que la plus pourrie des connection n'afecte pas son menu... c'est pour ca que j'utilise les frame, et j'espere bien que c'est la derniere fois. si toutefois tu as une idée de comment réparer ce code JS... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant