Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zdjęcia w dopasowanym okienku
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
jareks
Witam. Mam galerię. Miniaturki zdjęć wyświetlam po przez odczytanie plików z katalogu (opendir, readdir). Duże zdjęcia wyświetlam za pomocą javascriptu
Kod
<HEAD>
<script>
<!--
function displayWindow(url, width, height) {
        var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=no,scrollbars=no,menubar=no,left=0,top=0,screenx=50,screeny=50' );
    }
//-->
</SCRIPT>
</HEAD>

<a href=javascript:displayWindow('url',640,480)><img src=url></a>


Sęk w tym, że tu z góry narzucam wielkość okienka, w którym pokazuje zdjęcie. Zdjęcia mają jednak różną wielkość i okienko nie wygląda estetycznie.
Czy da się automacztycznie dopasować rozmiar okna do rozmiarów zdjęcia?
wassago
  1. <!--
  2. function displayWindow(url, width, height) {
  3. var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + & #39;,resizable=no,scrollbars=no,menubar=no,left=0,top=0,screenx=50,scr
  4. eeny=50' );
  5. }
  6. //-->
  7. </HEAD>

  1. <?php
  2. list( $width, $height, $type, $attr ) = getimagesize( &#092;"img/flag.jpg\" );
  3. echo &#092;"<a href=javascript:displayWindow( 'url', \" . $width . \", \" . $height . \" )><img src=url></a>\";
  4. ?>
jareks
Gdybym mógł to bym Cie ozłocił za tą funkcję getimagesize. biggrin.gif
Czasami szuka się czegoś gdzieś daleko, a odpowiedź jest tak blisko. Szukałem odpowiedzi w javasript, a tak naprawdę znalazłem ją w php.

Jeszcze raz dzięki za bardzo szybką odpowiedź. winksmiley.jpg

Mam jeszcze małą prośbe. W okienku po lewej i na górze robi mi się mały margines. Jak go usunąć?
silent
Cytat
Mam jeszcze małą prośbe. W okienku po lewej i na górze robi mi się mały margines. Jak go usunąć?

Usuń IE aaevil.gif .

A tak poważnie to do wyświetlania zastosuj skrypt:
  1. <?
  2. // imagewin.php
  3. $html='<p style=\"text-align: center\">Wystąpił błąd</p>';
  4. if (isset($_GET['img'])) {
  5. if (is_file($_GET['img'])) {
  6. $html='<img src=\"'.$_GET['img'].'\" alt=\"Image\" />';
  7. }
  8. }
  9. ?>
  10. <style type=\"text/css\">
  11. body{
  12. margin: 0px;
  13. }
  14. </style>
  15. <body onclick=\"window.close()\">
  16. <?=$html?>
  17. </body>
jareks
Hm, nie wiem czy to po prostu spowodowane jest już późną porą, ale patrze na Twoją podpowiedź i nie wiem co mam z nią zrobić. Jak ona ma się do mojego przykładu, tzn jak ją zastosować (gdzie, w którym miejscu). Możesz mi nieco rozjaśnić?
silent
Zamiast linka do pliku jpg robisz link:
  1. <?php
  2. list( $width, $height, $type, $attr ) = getimagesize( &#092;"img/obraz.jpg\" );
  3. echo &#092;"<a href=javascript:displayWindow('imagewin.php?img=obraz.jpg',\".$width.\", .$height.\")>link</a>\";
  4. ?>

Skrypt imagewin.php trzeba jeszcze uzupełnić o odpowiednie ścieżki do plików i sprawdzanie czy ktoś nie chce sobie wyświetlić czegoś, czego nie powinien, ale główna koncepcja jest przedstawiona.
jareks
Dzięki serdeczne. Obaj mi bardzo pomogliście.
Działa tak jak chciałem.

Pozdrawiam.

Wszystko pięknie i ładnie, ale chciałbym jeszcze coś poprawić, a nie do końca wiem jak. Otóż chciałbym by to okienko wyskakiwało centralnie po środku ekranu, a nie w lewym górnym rogu jak teraz. Co muszę dopisać?
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.