seba30901
(Ciukis123ster)
31 Styczeń 2010 14:24
#1
Cześć mam problem.
Potrzebuję zrobić rozwijany tekst na stronie, coś w stylu:
Pkt 1 [rozwiń] //po kliknięciu rozwija się tekst, czy wygląda to mniej więcej tak:
Pkt1 [zwiń]
tekst lalala
I potrzebuje tak 3 punkty, czyli:
Pkt1 [zwiń]
tekst lalala
Pkt2 [zwiń]
tekst lalala
Pkt3 [zwiń]
tekst lalala
Znalazłem skrypt, który wykonuje jeden: http://forum.programosy.pl/rozwijany-te … 25271.html <- ten z kolei powoduje, że po kliknięciu ‘Read more’ chowa to i rozwija całą stronę.
A ja, jak już wspomniałem potrzebuje czegoś takiego x3.
Wspomógłby ktoś skryptem?
seba30901
(Ciukis123ster)
31 Styczeń 2010 16:06
#3
Wszystko fajnie, ale po skopiowaniu obojętnie jakiego kodu w celu sprawdzenia, przeglądarka i tak go nie obsługuje.
Czy trzeba coś dopisać, żeby wszystko trybiło, czy jak?
Ostrzegam, że nie znam języka javy i potrzebuje zwykłego prostego rozwiązania, którego mogę użyć.
Z góry dziękuj za pomoc
Nie javy tylko js. Tak potrzebujesz do tego bibliotekę jquery.
Masz tutaj coś na szybko napisane (wystarczy przekopiować i będzie działać - powinno
Info
asd
Info1
asd
Info2
asd
[/code]
Mała poprawka, to
obiekty[i].getElementsByTagName('h2')[0].setAttribute("onclick","zwin(this)");
zastąp tym
obiekty[i].getElementsByTagName('h2')[0].onclick = function() {zwin(this)};
i powinno zacząć działać pod IE.
seba30901
(Ciukis123ster)
31 Styczeń 2010 18:10
#7
Ok. A mam jeszcze pytanie, bo ogólnie jak zmieniam czcionkę, wielkość itd (nazwy info) to coś zaczyna szwankować, a plusy robią się strasznie duże.
Da radę coś z tym zrobić?
Do tych plusów/minusów odwołujesz się tak (jeżeli nie ustawisz im stylów to będą one automatycznie dziedziczyły od h2)
.zwin h2 span {}
dla reszty z osobna możesz ponadawać klasy class="", bądź style ustawić dla wszystkich
.zwin h2 {}
.zwin p{}
oba sposoby można też połączyć. Główny div może mieć tylko jedną klasę - zwin.
seba30901
(Ciukis123ster)
31 Styczeń 2010 19:32
#9
Nie rozumiem tego bo tak jak wcześnie już wspomniałem nie znam wcale tego języka, a tak z ciekawości się spytam:
ile uczyłeś się tego języka ?
Chyba wszystkie możliwości
Info
asd
Info1
asd
Info2
asd
[/code]
Usytuuj to analogicznie jak w powyższym skrypcie.
Jeszcze nie skończyłem
seba30901
(Ciukis123ster)
31 Styczeń 2010 20:43
#11
teraz wszystko działa
tez mam zamiar się uczyć js i jestem ciekawy z czego najlepiej się uczyć może jakiś tytuł dobrej książki albo coś xD
jeszcze raz wielki dzięki
http://www.w3schools.com/js/default.asp
http://www.howtocreate.co.uk/tutorials/javascript/
///////////////////////////////////////
Na prośbę jednego z użytkowników przerobiona wersja skryptu (daję tutaj bo może się komuś kiedyś przyda)
Tytul 1
jakas tam tresc
Tytul 2
jakas tam tresc
Tytul 3
jakas tam tresc
ser
Tytul 4
jakas tam tresc
tresc
Tytul 1
jakas tam tresc
Tytul 2
jakas tam tresc
Tytul 3
jakas tam tresc
Tytul 4
jakas tam tresc
[/code]
1q2w3e4r
(1q2w3e4r)
20 Maj 2012 13:07
#13
Witam,
Dzięki za skrypt, mam tylko problem z nim w momencie gdy jest dużo zwiniętej treści. Zwija wszystkie elementy dopiero po całkowitym załadowaniu strony. Czy jest możliwość aby zwijało tekst od razu?
grzelix
(Grzelix)
20 Maj 2012 14:48
#14
Jeśli chcesz zaraz po załadowaniu strony zwinąć wszystkie teksty to nie lepiej wczytać stronę która już ma je zwinięte ??
1q2w3e4r
(1q2w3e4r)
20 Maj 2012 17:29
#15
Aby wczytać stronę, która ma je już zwinięte to musiało by nie być tego tekstu, który się rozwija. A więc pobieranie go dopiero wtedy gdy sie rozwija.
Jak zrobić aby nie czekało na załadowanie strony tylko żeby od razu uruchamiało skrypt i zwijało.
grzelix
(Grzelix)
20 Maj 2012 18:13
#16
Chyba nie do końca rozumiesz jak działa ten skrypt. Tekst jest w pobranej stronie tylko jest niewidoczny. Ma ustawione display na none. Rozwijając zmieniasz właściwość display na block i wtedy się pojawia. Ale fizycznie cały czas jest. Js działa po stronie klienta więc zmiana tego parametru przez js musi pociągać ze sobą to że wszystkie niezbędne informacje są już po stronie klienta.
Owszem można by było zrobić taki trik że dopiero w momencie kliknięcia rozwiń wysyłał by żądanie do serwera o ten kawałek strony, ale to już nieco wyższy poziom.