Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyskakujące okno
Forum PHP.pl > Forum > XML, AJAX
w0jt3k

http://www.tinypic.pl/hxdcmyizyrwz

Powyższe zdjęcie jest przykładem z poczty GMAIL, kiedy próbujemy się zalogować.
Mojepytanie brzmi: Za pomocą jakiego języka najwydajniej oraz najprościej napisać takie wyskakujące okno, oraz nadać mu właściwości pozycjonujące go?
kamil4u
Pozycja i wygląd = CSS
Dynamiczne pokazywanie się po kliknięciu = JS( obecnie w CSS3 też się da )

Zadaj konkretne pytania to pomożemy Ci z napisaniem tego albo naprowadzimy jakoś inaczej smile.gif
w0jt3k
CSS 3 nie, ponieważ nie obsługuje starszych przeglądarek, wolę js w takim wypadku.
CSS 2: Zrobiłem coś takiego.
Plik index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <link rel="stylesheet" href="style.css" type="text/css" /><!-- Dla wczytania pliku CSS -->
  4. <script><!-- Dla kodu js --></script>
  5. </head>
  6.  
  7. <div class="gorny_szary_pas"><a href=""><p>Wyloguj</p></a></div>
  8.  
  9. <div class="wyskakujace_okno"></div>
  10.  
  11. </body>
  12. </html>

Plik style.css:
  1. body {margin: auto;}
  2.  
  3. .gorny_szary_pas {width: auto;height:71px;background:#F1F1F1;border-bottom:1px solid #E5E5E5;}
  4. .gorny_szary_pas p {margin:auto;text-align:right;padding-top:25px;padding-right:25px;color:#666666;}
  5. .gorny_szary_pas a{text-decoration: none;cursor:pointer;}
  6.  
  7. .wyskakujace_okno{margin-top:-1px;margin-right:5px;width: 366px;height:190px;background:#fff;border:1px solid #B5B5B5;float:right;} /* visibility:hidden; (NIEWIDZIALNOŚĆ wyskakujace_oko) */

Teraz tak: Nie mam pojęcia, jak dodać taką strzałkę nad oknem, jak jest w G-mailu oraz jak wycieniować okno tak, jak jest to w G-mailu. Nie mam też pojęcia, jak sprawić, aby okno wyświetlało się po naciśnięciu myszą w przycisk Wyloguj.

Kolory aplikacji pobrane pluginem ColorZilla dla przeglądarki FireFox Mozilla.

/edit Ehh, już i tak widzę, że mam błąd w tym CSS, ponieważ w link Wyloguj mozna kliknąć na całej długości szarego pasa u góry strony ; / To też wiesz, jak naprawić, przyjacielu?
kamil4u
Cytat
jak dodać taką strzałkę nad oknem

Prawidłowo, ale ciężej - dodać tło i odpowiednio wypozycjonować lub zrobić strzałkę w CSS3 http://www.css3shapes.com/
Gorzej, ale całkiem dobrze to dodać nowy element HTML np. img i odpowiednio go wypozycjonować - position: relative;

Cytat
jak jest w G-mailu oraz jak wycieniować okno tak, jak jest to w G-mailu

To już tylko CSS3 - http://www.css3.info/preview/box-shadow/ - ew. można się bawić ustawianie tła z pliku graficznego, ale zdecydowanie odradzam

Cytat
Nie mam też pojęcia, jak sprawić, aby okno wyświetlało się po naciśnięciu myszą w przycisk Wyloguj.


javascript - zdarzenia - onclick - document.getElementById - .style.display - "none" lub "" - np:
Kod
<script>
document,getElementById("idPrzycisku").onclick = function(){
//     document,getElementById("idPrzycisku").style.display = "none"; //znika
document,getElementById("idCalegoOkna").style.display = ""; //pojawia się
}
</script>


Oczywiście najpierw nadaj styl display: none; - zamiast visiblity

Cytat
To też wiesz, jak naprawić

Kod
<div class="wyskakujace_okno">
<div class="gorny_szary_pas"><a href=""><p>Wyloguj</p></a></div>    
    
</div>
?

w0jt3k
ew. można się bawić ustawianie tła z pliku graficznego, ale zdecydowanie odradzam

Dlaczego odradzasz? Załóżmy , że wymiary pliku to 1px * 5px i repeat x, To chyba nie opóźni znacznie wczytywania pliku przez serwer?

Moje drugie pytanie:

Jak takie strzałki i cienie robić pod starsze przeglądarki? Czy można narysować taką strzałkę np, pod IE 5,6 w js, lub jakiejś bibliotece graficznej, jakiej? Dzięki za całą resztę, bardzo mi pomogłeś. Pozdrawiam.
kamil4u
Cytat
Dlaczego odradzasz?

Bo mało jest przeglądarek obecnie, które nie obsłużą cienia w CSS3, a jeżeli ktoś nie zobaczy cienia to nic się nie stanie - czas na zakodowanie tego jest mniej opłacalny, niż zrezygnowanie z 5% osób którym nie pokaże się cień( liczba wzięta z powietrza, ale poza IE6/7 to nie będzie mega problemu )
Cytat
Jak takie strzałki i cienie robić pod starsze przeglądarki? Czy można narysować taką strzałkę np, pod IE 5,6 w js, lub jakiejś bibliotece graficznej, jakiej?

Daruj sobie obsługę IE5 i 6. To przeglądarki, które mają powyżej 10 lat. To tak jakbyś zapytał czy warto robić dodatkowy pas na autostradzie dla samochodów typu maluch.

Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.