Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana klasy elementu
Włodzimierz
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.11.2013

Ostrzeżenie: (0%)
-----


Witam.
Tworzę stronę wizytówkę swojej małej firmy, i potrzebuję wykonać rozwijane menu po kliknięciu na element.
Moim celem jest wykorzystanie jak najkrótszego kodu, czyli importowanie biblioteki nie wchodzi w grę.

Mniej więcej chce uzyskać taki efekt:
  1. <button>Menu</button>
  2. <div id="zm" class="klasa1">Linki<div>

a po kliknięciu na button:
  1. <button>Menu</button>
  2. <div id="zm" class="klasa2">Linki</div>


Szukając po internecie natrafiłem na coś takiego:
  1. <!DOCTYPE html>
  2. function changeColor(newColor) {
  3. var elem = document.getElementById("para1");
  4. elem.style.color = newColor;
  5. }
  6. </script>
  7. </head>
  8. <p id="para1" style="color: red;">Some text here</p>
  9. <button onclick="changeColor('blue');">blue</button>
  10. <button onclick="changeColor('red');">red</button>
  11. </body>
  12. </html>


Powyższy kod działa, lecz jedynie zmienia kolor, i potrzebuje dwóch buttonów. Próbowałem go zmodyfikować, lecz nic z tego nie wychodziło.

Proszę o pomoc (IMG:style_emoticons/default/smile.gif) Jeżeli będzie trzeba chętnie za jako taką pomoc zapłacę.
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Musi działać, pewnie nie umiesz tego używać (IMG:style_emoticons/default/wink.gif) (wrzuć to, co ci nie działa)

Btw:
Cytat
var h=document.getElementsByTagName("H1")[0];
var typ=document.createAttribute("class");
(...)
var h=document.getElementsByTagName("H1")[0];
var typ=document.createAttribute("class");

Copy-paste programming nie jest zbyt dobra technika, duplikujesz kod niepotrzebnie pisząc 2razy to samo.. (Lepiej wywalić duplikatu i przenieść kod przed if'a

EDIT:

A do podmiany klasy używa sie zmiennej className, nie musisz tworzyć ręcznie żadnych atrybutów

Spróbuj tak:

document.getElementById('identyfikator-elementu').className = 'klasa1 klasa2 klasa3';
(Do className możesz przypisać kilka klas oddzielonych stacjami)

Ten post edytował PrinceOfPersia 1.12.2013, 13:55:51
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 11:31