IPB

Witaj Gościu ( Zaloguj | Rejestruj )

Jak pokazywać/ukrywać cyklicznie elementy witryny
mopsik
post 26.06.2009 - 10:24
Post #1


Początkujący
*

Grupa: Użytkownik
Postów: 9
Dołączył: 26.06.2009
Użytkownik nr: 581



Witam wszystkich bardzo serdecznie na forum.

Niedawno stworzyłem swoje portfolio dotyczące fotografii ślubnej, a ponieważ nie znam się na programowaniu i tylko bazuję na tym co potrafię wydedukować i zrobić mając podstawy HTML i CSS. Otóż na tej stronie http://slub.mkarolak.pl/ za pomocą następującego kodu można przełączać sobie "podstrony", którymi są zwykłe DIV-y jedne chowane, drugie wyświetlane.

KOD
<td width="105" onclick="w1.className='o';w2.className='x';w3.className='x';w4.className='x';">O Was i zdjęciach</td>
<td width="49" onclick="w1.className='x';w2.className='o';w3.className='x';w4.className='x';">Oferta</td>
<td width="55" onclick="w1.className='x';w2.className='x';w3.className='o';w4.className='x';">Kontakt</td>
<td width="591" onclick="w1.className='x';w2.className='x';w3.className='x';w4.className='o';"></td>

Każdy DIV ma swoje ID i wg tego co widać na górze, albo dostaje styl x (schowanie) albo o (pokazanie). Prosty myk na stylach, ale chciałbym Was zapytać czy istnieje możliwość wykorzystania tej samej zasady przy użyciu przycisków wstecz/dalej? Np. mam kilka DIV-ów, a w każdym trochę tekstu i obrazków i chciałbym móc przemieszczać się pomiędzy za pomocą komendy wstecz/dalej, czy jest to możliwe? Bo jak widać, tutaj są cztery DIV-y, ale gdyby było ich 50 to do każdego musiałbym napisać listę aż do w50 i 50 przycisków..
Go to the top of the page
 
+Quote Post
 
Start new topic
Odpowiedzi
Marcin Czołnowsk...
post 27.06.2009 - 10:13
Post #2


Początkujący
*

Grupa: Użytkownik
Postów: 31
Dołączył: 06.05.2009
Użytkownik nr: 495



Jan Koprowski, technika numerowania divów to obchodzenie problemu dookoła. Jquery dysponuje narzędziami do rozwiązywania takich problemów.

Np. eq(), next() albo :eq(). I sprawa z góry jest prostrza...
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 27.06.2009 - 10:16
Post #3


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(Marcin Czołnowski @ sob, 27 cze 2009 - 11:13) *
Jan Koprowski, technika numerowania divów to obchodzenie problemu dookoła. Jquery dysponuje narzędziami do rozwiązywania takich problemów.

Np. eq(), next() albo :eq(). I sprawa z góry jest prostrza...



Nie znałem tego :] Tutaj jednak chodzi o zmianę zawartości czegoś a nie "kolejnych elementów". Element jest jeden - zmienia się w nim tylko treść. A więc aby było wiadomo o który chodzi musi być numer. Chyba, że nie rozumiem jak można byłoby wykorzystać to co pokazałeś w tym przypadku.
Go to the top of the page
 
+Quote Post
Marcin Czołnowsk...
post 27.06.2009 - 13:14
Post #4


Początkujący
*

Grupa: Użytkownik
Postów: 31
Dołączył: 06.05.2009
Użytkownik nr: 495



CYTAT(Jan Koprowski @ sob, 27 cze 2009 - 11:16) *
Element jest jeden - zmienia się w nim tylko treść.


No więc jeśli zmienia się tylko treść to czemu podajesz rozwiązanie, które polega na zmianie elementów? smile.gif Z tego co pisał autor tematu i z tego co widziałem na stronie autora układ wygląda tak:

KOD
<div></div>
<div></div>
<div></div>


Więc aby poruszać się po kolejnych elementach struktury to najłatwiej jest chyba po nich listować prawda? prev/next to nic innego jak poruszanie się po pre i post inkrementacjach. Zwiększamy lub zmniejszamy index kolejnego elementu o jeden. Jeśli osiąga 0 to nie możemy cofnąć dalej - jeśli osiąga ilość naszych divów minus jeden (ważne, ponieważ numerowanie elementów zawsze zaczynamy od 0 smile.gif )to nie może wybrać kolejnego elementu. Koniec filozofii.

A problem użytkownika wymaga tego, aby tworzył on również historię odwiedzanych stron, więc musi kolejno wypełniać tablicę historią a następnie się po tablicy historii poruszać. W tablicy muszą być zapisane w odpowiedni sposób elementy, do których ma się odnieść prev/next. I koniec. wink.gif
Go to the top of the page
 
+Quote Post

Posty w tym temacie


Reply to this topicStart new topic
1 użytkownik(ów) przegląda ten temat (1 gości i 0 anonimowych użytkowników)
0 Użytkownicy:

 



Wersja Lo-Fi Aktualny czas: 21.05.2012 - 15:46