![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam jakby tabelkę z 6 diwów w jednym (2 kolumny po 3 linie). Chciałbym zrobić efekt taki iż po kliknięciu na jeden z nich tak jakby zmaksymalizuje się on na powierzchnię która one wszystkie zajmują rozwijając więcej treści. Natomiast po ponownym kliknięciu by z powrotem powrócił na swoje miejsce. Z animacją daję radę, z pokazywaniem treści również. Jedynie mam problem z "wyrwaniem z szeregu" takiego DIVa, nawet jak zmieniam mu z-index to rozsuwa on resztę DIVów.
|
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
kod pokaż kod jak robisz to rozszerzanie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wstawiłbym to w tabelkę o takiej samej strukturze, jak twój układ divów, w każdą komórkę wstawiłbym diva z position absolute, odpowiednio oczywiście wypozycjonowanym itp. Powiększanie diva nie powinno spowodować rozsuwania, przesuwania itp pozostałej części strony z divami.
Rozwiązanie na szybko, nie widziałem Twojego kodu jeszcze. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak zaczełem testować:
Pomogło dodanie display: absolute; podczas animacji (wcześniej odrzuciłem tą myśl gdyż wydawało mi się że pozycje ustosunkuje do całej strony a nie DIVa nadrzędnego). Jednakże aktualnie każdy DIV najpierw pojawia się w górnym lewym roku "kontenera" i tam dopiero się rozszerza. Czy ma ktoś może pomysł jak zrobić by rozszerzał się od tego miejsca w którym się znajduje? Chodzi mi przy tym o dość uniwersalne rozwiązanie (temu też nie tabelki) które będzie działało niezależnie od tego ile będę miał kolumn i linii w takim 'obiekcie'. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki tabelce udało mi się wypozycjonować diva w określonym miejscu, i odziwo, działa to pod każda przeglądarką. Skoro dynamicznie możesz dodawać nowe divy itp, to dynamicznie możesz także stworzyć dowolną tabelkę a w każdej jej komórce dodać diva, następnie odpowiednio go wypozycjonować. Działa na 100%. Nie wiem, co jeszcze potrzebujesz, rozwiązanie również jest uniwersalne. Oczywiście div o zadanym position absolute lepiej, aby nie miał ustawionych atrybutów top oraz left.
Chyba, że pokażesz mniej więcej jak to dokładnie ma działać. Może jest inne rozwiązanie. Nie masz tego gdzieś online?? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ogulnie z wypozycjonowaniem nie ma zbytnio problemu, to że DIVy pod spodem się podsuwają to nie przeszkadza ważne że już nie wyskakują poza. Tu jest to online: http://cybers.pl/testy/1/
Zaś chodzi mi o to że teraz przed animacją przez to że przyjmuje position: absolute; wskakuje on na lewy górny róg tego DIVa i dopiero stamtąd się rozszerza. Natomiast chciałbym by rozszerzał się od miejsca gdzie się znajduje domyślnie. Nie widziałem czegoś takiego jeszcze w JavaScript, prędzej we Flashach. Zaś chodzi mi o coś podobnego do tego efektu: http://docs.jquery.com/UI/Effects/Transfer jednakże właśnie w połączeniu tego co mam, czyli zwykłe rozszerzanie się całego DIVa (nie generowanie ramki) tak jak jest w moim przykładzie jednak w sposób podobny do tej ramki, czyli od pierwotnego położenia. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmmmm..... już widzę problem. Generalnie, trzebaby zastanowić się nad pobraniem pozycji danego diva względem okna. Jeżeli takie będziemy posiadać, można z pomocą funkcji jQuery animate nie tylko zwiększać/zmniajszać wielkość diva, ale również jego położenie w oknie poprzez atrybuty left oraz top.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie też powoli dochodzę do wniosku iż nie będzie to prosta sprawa. Chyba ogólnie będę musiał zrobić funkcję ustawiającą divy relatywnie do okna, by zawsze było centrowane zaś zarazem miało position: absolute; by można było wszystkie obiekty niezależnie od siebie animować.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 05:58 |