Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQ/UI/Dialog] Jak zrobić, aby okno pojawiło się częściowo poza viewport?
hao
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 12.02.2004

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


Mam kilka okienek:

(IMG:http://itvpoludnie.pl/1.jpg)

które mogę sobie dowolnie przesuwać, rozszerzać itp, do tego zapamiętuję w cookies ich położenie i wielkość.
<body> ma wysokość 2000px (jak widać po suwaczku, jest większe niż viewport).

Przesuwam sobie jedno okienko poniżej, tak, że wychodzi poza viewport:
(IMG:http://itvpoludnie.pl/2.jpg)

Wszystko jest ok. Położenie okienka się zapamiętuje. Mogę sobie stronę przewijać w dół itp.

Problem:
Po wyjściu i wejście na stronę (lub odświeżenie), okno to, które ma parametry posx=100, posy=1000 (dla przykładu), ładuje się tak, jakby NIE WOLNO mu było przekroczyć obszaru vieport.
Okno po odświeżeniu strony jest repozycjonowane przez:
$(this).dialog( "option", "position", [x,y] );
Ale jednak ukazuje się zawsze CAŁE w obszarze viewport, tak jakby miało włączony "snap" tylko do obszaru widocznego.

(IMG:http://itvpoludnie.pl/3.jpg)


A jak zrobić, aby, gdy daję mu pozycję posy=1000, zawsze to okno pojawiało się jednak te 1000 px od góry?
Próbowałem również użyć jQuery UI Position utility, ale to też nie pomaga.

Dzięki z góry za odpowiedź...
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Zapisz do ciasteczka aktualną wersję + pasek przesuwania( .scrollTop() ).

Nie znam na tyle jQuery, żeby być pewny, że nie da się tego zrobić skryptowo( bezpośrednio w bibliotece UI )
Go to the top of the page
+Quote Post
hao
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 12.02.2004

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


Nie o to chodzi. Jeśli okno zostało "położone" np. na wysokości 1500 px, to późnijej jeśli chcę to okno znów ustawić na wyokości 1500 px to ono wskakuje wyżej, w obręb view port.

Właściwie to mogłem napisać krócej:

Kod
$(document).ready(function() {
    $("#dialog").dialog({ position: [0,1500] });
  });


Nie działa. Okno pojawi się około ~600 px od góry (w zależności od tego, jaką ktoś ma rozdzielczość okna).
Go to the top of the page
+Quote Post
ShadowD
post
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Może css'em ustawić top:1500px?
Go to the top of the page
+Quote Post
hao
post
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 12.02.2004

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


Niestety nie. Wychodzi na to, że pozycjonowanie (nawet domyślne bez podawania argumentów) dialogu jest nadrzędne nad cssem. To musi być jakiś trick w jquery, który pozwala nadpisać jakoś pewne domyślne parametry .iu-dialog
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: 24.08.2025 - 11:41