Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Problem ze zmięnną i pętlą swich
karolusgt
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.08.2008

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


Cześć wszystkim.
Piszę ponieważ mam jak podejrzewam błahy problem, ale wpaść na jego rozwiązanie nie potrafię. Mam bowiem na stronie skrypt który sprawia że w zależności od najechania na odpowiedni link w menu, pod menu wyświetla różną treść (przypisaną do konkretnego linku). Sam skrypt nie jest skomplikowany i wygląda tak:

<script>

function zamiana(x){
switch(x){
case 1:
document.getElementById('tresc1').style.display="block";
document.getElementById('tresc2').style.display="none";
document.getElementById('tresc3').style.display="none";
document.getElementById('tresc4').style.display="none";
break;
case 2:
document.getElementById('tresc1').style.display="none";
document.getElementById('tresc2').style.display="block";
document.getElementById('tresc3').style.display="none";
document.getElementById('tresc4').style.display="none";
break;
case 3:
document.getElementById('tresc1').style.display="none";
document.getElementById('tresc2').style.display="none";
document.getElementById('tresc3').style.display="block";
document.getElementById('tresc4').style.display="none";
break;
case 4:
document.getElementById('tresc1').style.display="none";
document.getElementById('tresc2').style.display="none";
document.getElementById('tresc3').style.display="none";
document.getElementById('tresc4').style.display="block";
break;
}
}
</script>

W menu są linki podobne do tego: <a href="" onmouseover="zamiana(1);">STRONA GŁÓWNA</a> (pozostałe są podobne więc sobie daruję).
Dalej w kodzie strony są takie oto divy (to co ma być wyświetlane w zależności od wartości zmiennej x) :

<div id="tresc1"> tekst 1</div>
<div id="tresc2"> tekst2 </div>... itd.

Sam skrypt działa OK, za wyjątkiem pierwszego uruchomienia strony, ponieważ wyświetla na stronie startowej zawartość wszystkich divów łącznie a nie tylko jednego wybranego. Potem już jest jak trzeba. Próbowałem opcji default ale zabieg ten nie pomógł. Chciałem też przypisać początkową wartość zmiennej która potem będzie się zmieniała, ale to również nie pomogło. Nie znam zbyt dobrze składni JS i może to jest pies pogrzebany. Jeśli ktoś zna i umie rozwiązać ten problem będę dozgonnie wdzięczny i z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Dopisz funkcje

[JAVASCRIPT] pobierz, plaintext
  1. function on_load(){
  2. document.getElementById('tresc1').style.display="none";
  3. document.getElementById('tresc2').style.display="none";
  4. document.getElementById('tresc3').style.display="none";
  5. document.getElementById('tresc4').style.display="none";
  6. }
[JAVASCRIPT] pobierz, plaintext


W dokumencie html

  1. <body onload="on_load();">


Używaj BBCode

Ten post edytował Wicepsik 5.08.2010, 11:05:10
Go to the top of the page
+Quote Post
karolusgt
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.08.2008

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


Dzięki śliczne. Mówiłem że to błahy problem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Poczytaj o zasadzie DRY. Proponuję więc przerobić Twoją funkcję:
Kod
<script>
function on_load(){
document.getElementById('tresc1').style.display="none";
document.getElementById('tresc2').style.display="none";
document.getElementById('tresc3').style.display="none";
document.getElementById('tresc4').style.display="none";
}

function zamiana(x){
on_load(); //<-- tylko nazwij tę funkcję bardziej sensownie :)
document.getElementById('tresc'+x).style.display="block";
}
</script>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 17:58