Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Galeria w JS, dziwny problem z alertem i wyświetlaniem obrazków
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Koniczynka
Witajcie,

Kombinuję i kombinuję, a efektów nie widać. Napisałem skrypt do obsługi galerii zdjęć. W jednej z jego części sprawdza on rozmiar obrazka i jeżeli jest on większy od okna, to umieszcza on jego miniaturę. Oto kod:

  1. var OTWORZ = 'LINK DO OTWARCIA PLIKU' + OBRAZ;
  2. var rozmiar = document.body.scrollWidth;
  3. var rozmiar2 = document.body.scrollHeight;
  4. var wysokn = window.innerHeight; // wysokość okna
  5. var szeokn = window.innerWidth; // szerokość okna
  6.  
  7. /*OBRAZEK
  8. ///////////
  9. ///////////
  10. ////////////
  11. */
  12. var obraz01 = new Image()
  13. obraz01.src = OTWARCIE;
  14.  
  15. var wysobr = obraz01.height;
  16. var szeobr = obraz01.width;
  17. alert(obraz01.width);
  18. alert(obraz01.height);
  19.  
  20. var licz = (screen.height)/(obraz01.height/2);
  21. var licz2 = screen.width/4;
  22.  
  23. if ((obraz01.width > screen.width || obraz01.height > screen.height) || (licz == 'Infinity' ))
  24. {
  25. var marginlewy = 20;
  26. var OTWORZ = 'LINK DO OTWARCIA PLIKU Z OKREŚLENIEM MINIATURY' + OBRAZ; var liczba = 400;
  27. }
  28. else
  29. {
  30. var marginlewy = licz3;
  31. var OTWORZ = 'LINK DO OTWARCIA PLIKU' + OBRAZ; var liczba = obraz01.width;
  32. }
  33.  
  34. var licz3 = (screen.width - obraz01.width)/2;
  35. var divsrodek = document.getElementById('wysrod');
  36. var klasa = 'width:' + liczba + 'px; margin: 0px auto;';
  37. var divsrodek = document.getElementById('wysrod');
  38. divsrodek.setAttribute('style' , 'width:' + liczba + 'px; margin: 0px auto;');
  39.  
  40. divsrodek.innerHTML = '<div style="width:' + 'px; margin: 0px auto;">' + '<img src="' + OTWORZ + '" style="border: 6px solid #FFFFFF;' + 'px;" class="bezob" />' + '</div>';


I dziwne zachowanie polega na tym, że jak zostawiam dwa alerty z rozmiarami obrazka, obrazek wyświetla się według zasad pętli if. Kiedy jednak je usuwam, za każdym razem wstawia miniaturki (nawet jak obrazek jest mniejszy od rozdzielczości monitora). Próbowałem podstawiać inne zmienne do pętli (wysobr i szeobr), umieszczać w niej wyniki odejmowania rozmiaru monitora od obrazka i nic.

Miał ktoś z Was podobny problem i wie, jak można temu zaradzić? Jeśli nie, to będę wdzięczny za każdą sugestię.

Pozdrawiam.
lord_t
A co to są "OBRAZ" i "OTWARCIE"? Podaj jak są definiowane.
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.