Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS][JavaScript] dynamiczne położenie diva, jakie nawiasy? żeby czytało?
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. <div style="position:absolute;background:#CCCCCC;width:100px;height:<script>document.write(document.body.scrollHeight - 33)</script>px;"></div>
czego użyć, żeby odczytał skrypt w znakach cudzysłowia w stylu diva?

...ewentualnie w php, ale to tez nie działa...

  1. <?php
  2. $dupa = "<script>document.write(document.body.scrollHeight - 150)</script>";
  3. ?>
  4. <div style="position:absolute;background:#CCCCCC;width:100px;height:<?php echo $dupa; ?>px;">
  5. </div>


Ten post edytował shpaque 25.02.2015, 00:36:16
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


czemu mieszasz 3 języki naraz? A w drugim podanym fragmencie nawet 4? Czemu mieszasz język PHP, który działa po stronie serwera i kod JavaScript, który odpala się po stronie przeglądarki? Wiesz, że to nie prawa ci zadziałać?

Generalnie:
strony trzymane są na serwerach. Przeglądarka wysyła żądanie HTTP i czeka na odpowiedź serwera. Wtedy jest odpalany na serwerze kod PHP, który generuje odpowiedź. Wygenerowana odpowiedź (czyli kod HTML) leci do przeglądarki. Dalej przeglądarka odpala skrypty z pliku HTML, oraz dociąga pozostałe dołączane skrypty/style, mogą lecieć kolejne zapytania do serwera.

Teraz się zastanów i pomyśl to co napisałeś w drugim snippecie z kodem
[JAVASCRIPT] pobierz, plaintext
  1. $dupa = "<script>document.write(document.body.scrollHeight - 150)</script>";
  2. ......
[JAVASCRIPT] pobierz, plaintext


Nie ma żadnego sensu. Możesz to zrobic na masę różnych sposobów, ale to nie jest jeden z nich. Przypuszczalnie mógłbyś do tego co chcesz zrobić użyć biblioteki jQuery i napisać w JavaScript coś w tym stylu:
[JAVASCRIPT] pobierz, plaintext
  1. $(function () {
  2. $("#tu-wpisz-id-elementu").css("height", (document.body.scrollHeight - 150) + "px");
  3. });
[JAVASCRIPT] pobierz, plaintext

(powinno działać, ale nie sprawdzałem - natomiast jak chcesz się bawić w strony to sobie powinieneś doczytać już...).

poza tym style CSS trzyma się w osobnych plikach z rozszerzeniem .css, ewentualnie między tagami <style>....</style> w HTML, a nie (poza wyjątkowymi sytuacjami) wsadza je hurtem w diva jak napisałeś:
  1. <div style="position:absolute;background:#CCCCCC;width:100px;height:


Ten post edytował PrinceOfPersia 25.02.2015, 01:02:09
Go to the top of the page
+Quote Post
shpaque
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


jQuery nawet działa - ale tylko w pojedynczym przypadku, kiedy z innej podstrony przechodze na tą gdzie jest użyty, a że strona ta ma linie z $_GET - po zmianie danych w pasku adresów funkcja z jQuery przestaje działać bo nie jest ponownie załadowana...
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #4





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


nie rozumiem, co ma jQuery do zmiennej $_GET?
Go to the top of the page
+Quote Post
shpaque
post
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


to, że kiedy nacisnę button na podstronie, który przeładuje stronę, skrypt jquery nie zostanie ponownie przeładowany wraz ze zmianą ścieżki $_GET - przez co nie wypozycjonuje znów dynamicznie diva...

inaczej, po zmianie sciezki np: ...costam/gdziestam&strona=1 na ...strona=2 zmienia się wysokośc strony, poniewaz w iframe zostaje wczytany np dluzszy text - ale wowczas skrypt zostaje na oryginalnej pozycji, a nie przesuwa sie wzgledem nowej wysokosci strony...
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #6





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


poczekaj, $_GET to jest nazwa zmiennej w PHP, i zmiana tej zmiennej na nic absolutnie nie wpłynie, poza samym skryptem PHP. Więc co ma wspólnego z kodem JavaScript? Chyba, że mówisz o parametrach urla w GET.

poza tym - jaki iframe? Co ty chcesz zrobić w ogóle?
Go to the top of the page
+Quote Post
shpaque
post
Post #7





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


chodzi o to, że mam pewien program który generuje stronę (nazwy nie będę tutaj używał), i on sam koduje całą stronę. Ta podstrona, która mnie interesuje - jest podstroną dynamiczną, jest w niej zawarta treść w iframe, która w zależności od danych pobranych z paska adresu (GETem), wydłuża bądź skraca stronę.

Chodzi mi dokładnie o ustawienie stopki na dole strony, ale jak pisałem wyżej niestety nie wystarczy mi "bottom:0 i position:absolute", bo program tą stopkę generuje w swoim własnym kodowaniu, nie mogę jej również zrobić pływającej na dole okna przeglądarki - dlatego kombinuję coś, żeby obejść system i zrobić tak, żeby jej pozycja była dynamiczna i na bieżąco skrypt sprawdzał jaka jest wysokość tej strony umieszczając ją 150px wyżej niż wysokość...
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 - 21:41