Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozwijany div
tmk
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


Witam,

na tej stronce jak się kliknie na 'Search'(tuż pod formularzem logowania) to pojawia się DIV - ale on się tak ładnie rowija, a nie tylko zmiania: visible/hidden.
Wiecie może jak coś takiego zrobić?szukałem w necie, ale nie widziałem takich przykładów
Ogrom kodu w JSie na MamboServer skutecznie utrudnia wyciągnięcie tylko tego rowijania diva

z góry dzięki za sugestie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Musisz ustawić poczatkowe wartośći width i height.
Nastepnie napisać funkcje, które odczytają aktualne wymiary bloku i powiekszą o ileś tam pikseli. Użyj funkcji setTimeout() do ustalenia czasu powtórzenia aby osiagnąć efekt animacji 100 ms powinno być ok.
Go to the top of the page
+Quote Post
tmk
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


Zrobiłem coś takiego:
  1. var pop;
  2. function rozwin() {
  3. var obj = document.getElementById("divek");
  4. if(parseInt(obj.style.height)<100){
  5. obj.style.width = parseInt(obj.style.width) + 4 + 'px';
  6. obj.style.height = parseInt(obj.style.height) + 1 + 'px';
  7. }
  8. }
  9. function zwin() {
  10. var obj = document.getElementById("divek");
  11. if(parseInt(obj.style.height)>10){
  12. obj.style.width = parseInt(obj.style.width) - 4 + 'px';
  13. obj.style.height = parseInt(obj.style.height) - 1 + 'px';
  14. }
  15. }
  16. function wywolaj() {
  17. if(pop!="marked"){
  18. var obj = document.getElementById("divek");
  19. obj.style.display = "block";
  20. setInterval("rozwin()", 10);
  21. pop = "marked";
  22. }else{
  23. var obj = document.getElementById("divek");
  24. obj.style.display = "block";
  25. setInterval("zwin()", 10);
  26. pop = " ";
  27. }
  28. }

i rozwija się elegancko, ale chciałbym, żeby po ponownym kliknięciu 'Klik' się zwijało - no i cos się zacina jak tylko zacznie zwijac :/

---update
jak sobie dodałem alert('xx'); w za zamknięciem IF'a
  1. if(parseInt(obj.style.height)<100){...}alert('xx');

to mi go wywala nawet gdy juz przestało rozciągać DIVa..jak zabić ten proces gdy zostanie osiągnięty rozmiar określony IFem? bo to to zapewne jest przyczyną..

Ten post edytował tmk 12.07.2006, 14:17:18
Go to the top of the page
+Quote Post
shpyo
post
Post #4





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


http://script.aculo.us/visual-effects - widziałeś to? Może tutaj coś ciekawego znajdziesz (może lepszego).
Go to the top of the page
+Quote Post
tmk
post
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


zaraz popatrzę na inne rozwiązania, dzięki za link
ale swoją drogą to chciałbym znaleźć rozwiązanie do tych funkcji które napisałem powyżej - z czystej ciekawości
więc jak ktoś ma pomysł, to będę wdzięczny


---udpate

nie znalazłem rozwiązania dla mojego kodu - może ktoś ma pomysł jak w łatwy sposób napisać coś takiego?
idea jest prosta ...

Ten post edytował tmk 14.07.2006, 14:49:28
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: 22.08.2025 - 22:11