Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Rozmiar Obrazka
Forum PHP.pl > Forum > Przedszkole
awek
Witam. Mam z neta taki mały skrypt galerii. Nie znam się na JS więc proszę o pomoc.

Chce aby rozmiar miniaturki był powiedzmy 100x100 a normalnego zdjecia powiedzmy 300x300..

Jak zrobić ten limit ? Chce aby każde zdjęcie bylo takie same.

oto kod:


  1. <script type="text/javascript">
  2. var zdjecia = Array(
  3. Array('images/obraz1.jpg', 'images/obraz1.jpg', 'tytul', 'opis'),
  4. Array('images/obraz2.jpg', 'images/obraz2.jpg', 'tytul', 'opis'),
  5. Array('images/obraz3.jpg', 'images/obraz3.jpg', 'tytul', 'opis')
  6. );
  7. var max_width = 520;
  8. function laduj() {
  9. for(var i = 0; i < zdjecia.length; i++)
  10. document.getElementById('miniaturki').innerHTML += '<img src="' + zdjecia[i][1] + '" onclick="zmien(' + i + ')" />';
  11. zmien(0);
  12. }
  13. function zmien(id) {
  14. document.getElementById('zdjecie').innerHTML += '<div id="ladowanie"></div>';
  15. var custom = '';
  16. var preload = new Image();
  17. preload.onload = function() {
  18. if(preload.width > max_width)
  19. custom = ' style="height: '+(Math.floor(max_width / (preload.width / preload.height)))+'px;width:'+max_width+'px;"';
  20.  
  21. document.getElementById('informacje').innerHTML = '<b>'+zdjecia[id][2]+'</b><br /><i>'+zdjecia[id][3]+'</i>';
  22. document.getElementById('zdjecie').innerHTML = '<img src="'+zdjecia[id][0]+'"'+custom+' />';
  23. }
  24. preload.src = zdjecia[id][0];
  25. }
  26. window.onload = laduj;
  27. </script>
  28. <style type="text/css">
  29. #ladowanie {
  30. display: block;
  31. position: absolute;
  32. top: 0;
  33. _top: 50%; /* IE */
  34. left: 0;
  35. width: 100%;
  36. height: 100%;
  37. background: url('loading.gif') no-repeat center center;
  38. }
  39. #zdjecie, #miniaturki {
  40. width: 520px;
  41. position: relative;
  42. }
  43. #miniaturki img {
  44. margin: 5px;
  45. cursor: pointer;
  46. }
  47. </style>
patwoj98
Ja bym zmodyfikował i dodał classy.
Kod
.miniature{
      width:100px !important;
      height:100px !important;
}
.normal{
      width:300px !important;
      height:300px !important;


Tak przygotowane klasy wrzucasz na dół do CSS i modyfikujesz linijki:
document.getElementById('miniaturki').innerHTML += '<img src="' + zdjecia[i][1] + '" onclick="zmien(' + i + ')" />';
na
document.getElementById('miniaturki').innerHTML += '<img src="' + zdjecia[i][1] + '" onclick="zmien(' + i + ')" class="miniature"/>';

ORAZ

document.getElementById('zdjecie').innerHTML = '<img src="'+zdjecia[id][0]+'"'+custom+' />';
na
document.getElementById('zdjecie').innerHTML = '<img src="'+zdjecia[id][0]+'" class="normal"/>';

daj znać czy działa.
awek
Cytat(patwoj98 @ 20.12.2015, 09:24:39 ) *
Ja bym zmodyfikował i dodał classy.
Kod
.miniature{
      width:100px !important;
      height:100px !important;
}
.normal{
      width:300px !important;
      height:300px !important;


Tak przygotowane klasy wrzucasz na dół do CSS i modyfikujesz linijki:
document.getElementById('miniaturki').innerHTML += '<img src="' + zdjecia[i][1] + '" onclick="zmien(' + i + ')" />';
na
document.getElementById('miniaturki').innerHTML += '<img src="' + zdjecia[i][1] + '" onclick="zmien(' + i + ')" class="miniature"/>';

ORAZ

document.getElementById('zdjecie').innerHTML = '<img src="'+zdjecia[id][0]+'"'+custom+' />';
na
document.getElementById('zdjecie').innerHTML = '<img src="'+zdjecia[id][0]+'" class="normal"/>';

daj znać czy działa.



Dzięki smile.gif Trochę to ulepszyłem i działa jak należy!
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.