ďťż
Podstrony
|
telcocafewitam,mam taki problem, chce stworzyć menu, tak żeby nazwa strony na której obecnie jesteśmy wyświetlana była na innym tle, myślałem żeby zrobic to w javascript poprzez zmiane identyfikatora id elementu, tylko niestety nie znam zbyt dobrze java script, może ktoś mógłby mi pomóc ewentualnie podpowiedzieć inny sposób A tak ogólnie to chciałem to zrobić tak <ul> <li><a href="">Strona1</a></li> <li><a href="">Strona2</a></li> <ul> i wtedy gdy klikniemy jakiś link powinno byc tak, np dla Strony1 <ul> <li id="current"><a href="">Strona1</a></li> <li><a href="">Strona2</a></li> <ul> Hm. Strona jest zrobiona w JavaScripcie czy PHP? Bo niewiele z tego wynika. W JS robisz coś takiego:var otworzPodstrone = function(id) { // tutaj obsługa przełączania stron var menu = document.getElementById('id_menu').getElementsByTagName('li'); // pobieramy wszystkie elementy listy for (var i = 0; i < menu.length; i++) { menu[i].className = ''; // usuwamy klasę } document.getElementById(id + '_link').parendNode.className = 'klasa_wybranego_elementu'; // ustawiamy klasę dla wybranego elementu, przy czym każdy link ma id, np., jest boks z id="glowna", więc link będzie miał id="glowna_link" };Oczywiście podałeś za mało szczegółów, więc ciężko tutaj jest cokolwiek ustalić. No i do oznaczania takich rzeczy nie używaj identyfikatorów. Lepiej jest używać klas. Wtedy jest większa kontrola nad logiką. Strona jest zrobiona w html+css z elementami javascript, bez PHP, chce dokonywać częstych zmian w menu, i nie chce zmieniać tego na wszystkich podstronach, więc pomyślałem że mogę dołączyć plik z listą linków,a mógłbyś mi wytłumaczyć ten kod bo tak średnio go rozumiem Czego konkretnie nie rozumiesz? Bo ja to zrobiłem w sposób taki, że Ty masz jeden plik z podstronami, ale nie wiem jak to wygląda u Ciebie. Może pokaż swój kod JS, to się go przerobi tak, by było wedle Twojego zamysłu. ok, mam kilka podstron z tekstem i menu do tego np: strona1|strona2|strona3 i chciałbym żeby po wybraniu któreś ze stron zmieniło się podświetlenie pod elementem menu, np. strona2, i żeby trwało dopóki nie zmienimy strony na inną i wtedy: strona1|strona2|strona3 chciałem umieścić menu o osobnym pliku, żeby w razie czego nie modyfikować wszystkich podstron. Myślę że da się to zrobić w javascript, tylko nie kumam tego języka jeszcze zbyt dobrze, i chciałem wiedzieć jak to mniej więcej zrobić, żeby działało, myslałem właśnie o podmianie indtyfikatora lub klasy w linku Hm. Czyli Ty nie masz jeszcze nic? Czy może jednak coś już masz? Bo jeśli masz, to używasz document.write() czy document.getElementById()? no jeszcze nie mam nic:) Wyskrobalem coś, tylko nie działa tak jak chciałem, w przypadku kliknięcia odnośnika otwiera się strona, i niestety kolor sie nie zmienia, czy można jakoś przekazać informacje do następnej strony, żeby podświetlało dany link?? A to mój kod: <!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" lang="pl-PL"> <head> <title>Strona z formularzem</title> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> <script type="text/javascript"> function dodajZdarzenie(odnosnik, zdarzenie, funkcja){ if(odnosnik.addEventListener){ odnosnik.addEventListener(zdarzenie, funkcja, false); } else { odnosnik.atachEvent("on"+zdarzenie, funkcja); alert("działa2"); } } function przypisz(){ podswietl(); var elements = document.getElementById('menu').getElementsByTagName('a'); for(var i =0 ; i < elements.length; i++) { dodajZdarzenie(elements[i], "click", zmien); } } function zmien() { document.cookie ="id="+this.id; document.write(document.cookie); } function podswietl(){ var odnosnik = this.id; var element=document.getElementById(odnosnik); alert(element.parentNode.tagName); element.parentNode.className = "current"; } dodajZdarzenie(window,'load',przypisz); </script> <style type="text/css"> ul#tabsHeader{} ul#tabsHeader li{ background-color:#CC0; } ul#tabsHeader li.current { background-color:#F30; } </style> </head> <body> <div id="menu"> <ul id="tabsHeader"> <li><a href="cos2.html" id="link1">cos</a></li> <li><a href="#" id="link4">link2</a></li> <li><a href="#" id="link3">link3</a></li> <li><a href="#" id="link4">link4</a></li> <li><a href="#" id="link5">link5</a></li> <li><a href="#" id="link6">link6</a></li> </ul> </div> </body> </html> |
|||
Sitedesign by AltusUmbrae. |