Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

JS document.getElementById

Ostatnio zmodyfikowano 2015-02-09 18:30
Autor Wiadomość
Bartaz
Temat założony przez niniejszego użytkownika
JS document.getElementById
» 2015-02-07 14:44:56
Witam mam oto taka funkcje


<script>
function wysun(obj) {
x=document.getElementById(obj);
if(x.style.display == "none") x.style.display = "block";
else x.style.display = "none";
}
</script>

Ma za zadanie wysunac diva w ktorym mozna dodac komentarz tyle ze takich elementow jest duzo no i dziala to tylko do jednego diva
probowalem z

Document.getElementsByClassName

Jednak wtedy po kliknieciu wlacza mi sie strona glowna xampa czego juz wogole nie rozumie .

Wywolanie funkcji wyglada tak:


<a href="/" onClick="wysun('poka'); return false;">Skomentuj</a>
<div id="poka" style="display:none">
<div class="skomentuj">
...
P-126125
sajmon
» 2015-02-07 15:18:50
Każdy div powinien mieć unikalne ID
Natomiast 1 klasa może być przyporządkowana do wielu divów i dlatego getElementsByClassName to tablica
www.w3schools.com/jsref​/met_document_getelementsbyclassname.asp
P-126126
Bartaz
Temat założony przez niniejszego użytkownika
» 2015-02-07 15:36:49
A mozesz to pokazac na przykladzie tego kodu bo nie bardzo mi to wychodzi i dlaczego jesli jest zle to wlacza mi sie strona xampa a nie wyskakuje jakis blad?
P-126127
sajmon
» 2015-02-07 17:30:30
Dla takiego kodu jak ty masz to by trzeba było chyba sobie dodać indeksy do funkcji
<script>
function wysun(obj, nr) {
x=document.getElementsByClassName(obj);
if(x[nr].style.display == "none") x[nr].style.display = "block";
else x[nr].style.display = "none";
}
</script>

<a href="/" onClick="wysun('poka', X); return false;">Skomentuj</a>
<div class="poka" style="display:none">
<div class="skomentuj">

I zamiast X to wpisujesz, który to z kolei jest ten div ( nie testowałem tego :( )

Lepiej by było chyba zrobić jakiś główny kontener w nim ten odnośnik oraz kontener, który ma się pokazać i wtedy się pobawić z wydobywaniem 'dzieci' :P
Byś miał odnośnik, który został kliknięty, z niego bierzesz rodzica i z tego rodzica bierzesz dziecko ten kontener, który chcesz pokazać.
P-126136
Bartaz
Temat założony przez niniejszego użytkownika
» 2015-02-07 17:43:23
Spróbowalem czegoś takiego ale nawet nie wiem gdzie tkwi blad bo po kliknieciu wyswietla sie strona xampa to normalne?



<script>
function wysun(obj, nr) {
x=document.getElementsByClassName(obj);
for (nr = 0; nr < x.length; nr++)
{
if(x[nr].style.display == "none") x[nr].style.display = "block";
else x[nr].style.display = "none";
}
}

</script>

//Teraz po kliknieciu sie nic nie dzieje
P-126137
sajmon
» 2015-02-07 18:02:49
<a href="/" onClick="wysun('poka', X); return false;">Skomentuj</a>
href="/" to jest główny katalog twojego serwera :P
<a href="#" onClick="wysun('poka', X); return false;">Skomentuj</a>
lub
<a onClick="wysun('poka', X); return false;">Skomentuj</a>
Tamto napisałem z palca, sprawdź czy numerki divów masz dobre, sprawdź jaki numerek dostajesz w funkcji, sprawdź najpierw może z numerkiem wpisanym na sztywno czy div się pokaże, pokombinuj z tym :P
No i spróbuj pokombinować sobie z rodzicem i dziećmi bo to by było lepsze rozwiązanie :P
P-126140
alixir
» 2015-02-07 22:43:52
Nie bardzo rozumiem problemu, ponieważ twój kod z pierwszego postu działa prawidłowo: http://jsfiddle.net/alixir​/twhk1Lam/
P-126173
Bartaz
Temat założony przez niniejszego użytkownika
» 2015-02-08 03:20:03
Ale nie jesli nie wiem ile bedzie divov i nie moge ich ponazywac jak w tym kodzie co pokazales.
P-126176
« 1 » 2
  Strona 1 z 2 Następna strona