Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zwaracanie wartosci funkcji w document.write() co jakiś czas, da się w input, ale dlaczego nie w document.write() ?
Athlan
post 22.06.2006, 19:50:22
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Problem wygląda tak:

chcę, aby margines ustaiwał się co 1 sec... napisałem sobie takie coś:

  1. <!--
  2. function zlap_rozdzielczosc()
  3. {
  4. wynik = Math.ceil(((window.innerWidth||document.body.clientWidth)/2)-395);
  5.  
  6. wynik = (wynik);
  7.  
  8. if(wynik < 0)
  9. {
  10. wynik = 0;
  11. }
  12.  
  13. return wynik;
  14. }
  15.  
  16. setInterval('zlap_rozdzielczosc()', 1000);
  17. //-->
  18.  
  19.  
  20. <!--
  21. document.write('<div style="margin-left: '+zlap_rozdzielczosc()+'px;">text</div>');
  22. //-->
  23.  
  24. </body>
  25. </html>


ale margines usatwai się tylko jak załaduje strone, bądź ją odświeżę... jak mam zrobić, aby margines się ustawiał co 1 sec?

Kod
setInterval('zlap_rozdzielczosc()', 1000);


Ten post edytował Athlan 22.06.2006, 20:09:01


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
tiraeth
post 22.06.2006, 20:55:09
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Umiesc setInterval w samej funkcji zlap_rozdzielczosc() smile.gif
Go to the top of the page
+Quote Post
siemakuba
post 22.06.2006, 22:59:53
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


wogóle to troche za bardzo chyba kombinujesz :)
nie prościej tak:
  1. <script type="text/javascript">
  2.  
  3. function marginesuj()
  4. {
  5. var e = document.getElementById('marginesuj');
  6. e.style.marginLeft = (parseInt(e.style.marginLeft, 10)+10)+'px';
  7. }
  8.  
  9. function runInterval()
  10. {
  11. setInterval(marginesuj, 1000);
  12. }
  13.  
  14. </head><body onload="runInterval()">
  15.  
  16. <div style="margin:0px; border:2px solid red;width:100px;height:100px;" id="marginesuj">wanda </div>
  17.  
  18. </body></html>

wartości zmiany marginesu dostosuj sobie jak trzeba.
Tylko po co odpalać to co 1 sekundę, przy takim ustawieniu jak u ciebie? Sprawdzasz co 1 sekudnę czy przypadkiem ktoś nie zmienił rozmiaru okna i nie trzeba marginesu zmienić? Jest coś takiego co samo się tym zajmie... nie pamiętak tylko jak to się nazywa :/ dam znać jak znajdę :)

pozdr.
Go to the top of the page
+Quote Post
Athlan
post 23.06.2006, 14:07:45
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat(siemakuba @ 22.06.2006, 21:59 ) *
Sprawdzasz co 1 sekudnę czy przypadkiem ktoś nie zmienił rozmiaru okna i nie trzeba marginesu zmienić?


dokładnie tak smile.gif chodzi o odstęp loga od lewego marginesu, gdyż wyhodzi ono z tableki i jest na warstwie z-index: 1;

@siemakuba: jeżeli masz taki automat to zamieść, bo coś w stylu: style="left: 10%;" nie działa sadsmiley02.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
siemakuba
post 23.06.2006, 14:54:18
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


nie chodziło mi o automat w sensie skrpyt czy cos :) chodzilo mi o jakas wlasciwosc / metode odpowiedzialna za informacje o zmianach stanu okna... no nie wiem, cos mi sie kolacze po glowie. Ale mniejsza z tym, jest cos innego co ci pomoze:
zamiast tego calego setInterval daj wywolanie tej fukcji sprawdzajacej na zdarzeniu onResize w BODY.
  1. <body onResize="zlap_rozdzielczosc()">

Uwaga - dziwnie troche to sie zachowuje pod IE (odpala sie 2-3 razy zamiast 1 raz) - sprawdz czy to bedzie przeszkadzac.

pozdr.
Go to the top of the page
+Quote Post
Athlan
post 23.06.2006, 16:18:57
Post #6





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


no działa smile.gif

ale i tak w onload trzeba dać, bo laduje funkcję typko przy zmianie rozdzilczości okna... można też dać gdzieś steTimeout(zlap_rozdzielczosc,0000);

no... dzieki.... dziala

a da się jakoś ten margines ustawić w % w CSS?


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 22:31