Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript] Galeria w JS
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!

W moje skromne łapki dostałą się galeria, stworzona przez Pana Kokłowskiego. Galeria pochodzi ze strony: http://www.kurshtml.boo.pl/skrypty/przyklad,galeria.html. Niestety nie mogę się w niej połapać. Chciałbym zrobić tylko samą przeglądarkę (to co się pokazuje w nowym okienku) zdjęć, czyli: dlaej wstecz i opisy. Niestety nie wiem jak przerobić ten skrypt i gdzie go przerobić. Prosze o pomoc!

CODE
long_code_here = '<script type="text/javascript">
// <![CDATA[
/**
* @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
* @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
*/

function Galeria(id, zdjecia, css, ochrona, zaladuj)
{
this.kolumny = 2;
this.naStronie = 10;


this.id = id;
this.zdjecia = zdjecia;
this.ochrona = typeof ochrona != 'undefined' ? ochrona : false;
this.css = css;

if (typeof zaladuj != 'undefined' && zaladuj)
{
for (var i = 0; i < this.zdjecia.length; i++)
{
new Image().src = this.zdjecia[i][0];
}
}

this.wyswietl = function(strona)
{
if (typeof strona == 'undefined') strona = 1;
var html = '';

for (var i = start_ = (strona - 1) * this.naStronie, stop_ = Math.min(start_ + this.naStronie, this.zdjecia.length); i < stop_; i++)
{
if (i > start_ && !(i % this.kolumny)) html += '</tr><tr>';
html +=
'<td>' +
'<a href="' + (this.ochrona ? 'java script:void(0)' : this.zdjecia[i][1]) + '" onclick="return !' + this.id + '.pokaz(' + i + ')" onkeypress="return !' + this.id + '.pokaz(' + i + ')"><img src="' + this.zdjecia[i][0] + '" alt=""' + (this.ochrona ? ' onmousedown="return false" oncontextmenu="return false" onselectstart="return false" onselect="return false" oncopy="return false" ondragstart="return false" ondrag="return false" galleryimg="no"' : '') + ' /></a>' +
(typeof this.zdjecia[i][2] != 'undefined' ? '<div>' + this.zdjecia[i][2] + '</div>' : '') +
'</td>';
}
if (html) html = '<table><tr>' + html + '</tr></table>';

if (this.zdjecia.length > this.naStronie)
{
html += '<div class="stronicowanie">';
if (strona > 1) html += '<a href="java script:void(0)" onclick="' + this.id + '.wyswietl(' + (strona - 1) + '); return false" onkeypress="' + this.id + '.wyswietl(' + (strona - 1) + '); return false">«</a>';
for (var i = 1, stop_ = Math.ceil(this.zdjecia.length / this.naStronie); i <= stop_; i++)
{
html += ' ' + (i == strona ? i : '<a href="java script:void(0)" onclick="' + this.id + '.wyswietl(' + i + '); return false" onkeypress="' + this.id + '.wyswietl(' + i + '); return false">' + i + '</a>');
}
if (strona < stop_) html += ' <a href="java script:void(0)" onclick="' + this.id + '.wyswietl(' + (strona + 1) + '); return false" onkeypress="' + this.id + '.wyswietl(' + (strona + 1) + '); return false">»</a>';
html += '</div>';
}

document.getElementById(this.id).innerHTML = '<div class="galeria">' + html + '</div>';
}

this._pokaz = function(i)
{
var numer = (i + 1) + '/' + this.zdjecia.length;
if (this.zdjecia.length < 2) var stronicowanie = '';
else
{
var stronicowanie =
'<div class="stronicowanie" style="white-space: nowrap">' +
(i > 0 ? '<a href="java script:void(0)" onclick="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i - 1) + ')); document.close(); document.close()\', 1); return false" onkeypress="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i - 1) + ')); document.close(); document.close()\', 1); return false">« Wstecz</a>   ' : '') +
numer +
(i < this.zdjecia.length - 1 ? '   <a href="java script:void(0)" onclick="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i + 1) + ')); document.close()\', 1); return false" onkeypress="setTimeout(\'document.write(window.opener.' + this.id + '._pokaz(' + (i + 1) + ')); document.close()\', 1); return false">Dalej »</a>' : '') +
'</div>';
}

var html =
'<html>' +
'<head>' +
'<title>' + (typeof this.zdjecia[i][2] != 'undefined' ? this.zdjecia[i][2].replace(/<[^>]+>/g, '') + (numer ? ' (' + numer + ')' : '') : numer) + '</title>' +
(typeof this.css != 'undefined' && this.css ? '<link rel="Stylesheet" type="text/css" href="' + this.css + '" />' : '') +
'<'+'script type="text/javascript">' +
'function dopasuj() { window.resizeTo(Math.min(screen.availWidth, Math.max(document.getElementById(\'img\').width + 50, document.getElementById(\'body\').offsetWidth)), Math.min(screen.availHeight, document.getElementById(\'body\').offsetHeight + 80)); }' +
(this.ochrona ? 'window.onblur = function() { if (document.getElementById(\'body\')) document.getElementById(\'body\').style.visibility = \'hidden\'; try { clipboardData.clearData(); } catch (e) {} }; window.onfocus = function () { if (document.getElementById(\'body\')) document.getElementById(\'body\').style.visibility = \'visible\'; };' : '') +
'<'+'/script>' +
'</head>' +
'<body style="margin: 0; padding: 0" onload="dopasuj(); dopasuj()"' + (this.ochrona ? ' oncontextmenu="return false" onbeforeprint="document.getElementsByTagName(\'body\')[0].style.visibility = \'hidden\'; window.alert(\'Wydruk jest niedostępny!\')" onafterprint="document.getElementsByTagName(\'body\')[0].style.visibility = \'visible\'"' : '') + '>' +
'<div id="body">' +
'<div id="zdjecie">' +
(typeof this.zdjecia[i][2] != 'undefined' || numer ? '<h1>' + (typeof this.zdjecia[i][2] != 'undefined' ? this.zdjecia[i][2] : numer) + '</h1>' : '') +
'<div style="text-align: center"><img id="img" src="' + this.zdjecia[i][1] + '" alt=""' + (this.ochrona ? ' onmousedown="return false" oncontextmenu="return false" onselectstart="return false" onselect="return false" oncopy="return false" ondragstart="return false" ondrag="return false" galleryimg="no"' : '') + ' /></div>' +
(typeof this.zdjecia[i][3] != 'undefined' ? '<div>' + this.zdjecia[i][3] + '</div>' : '') +
stronicowanie +
'</div>' +
'</div>' +
'</body>' +
'</html>';

return html;
}

this.pokaz = function(i)
{
try { Galeria.okno.close() } catch (e) {}
Galeria.okno = window.open('', this.id, 'menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,re
izable=yes,width=400,height=400');
if (!Galeria.okno) return false;

Galeria.okno.document.close();
Galeria.okno.document.write(this._pokaz(i));
Galeria.okno.document.close();
Galeria.okno.focus();

return true;
}

document.write('<div id="' + this.id + '"></div>');
this.wyswietl();
}

Galeria.okno = null;


var galeria = new Galeria('galeria', new Array(
new Array('miniatura', 'zdjęcie', 'Tytuł', 'Opis'),
new Array('miniatura', 'zdjęcie', 'Tytuł', 'Opis'),
new Array('miniatura', 'zdjęcie', 'Tytuł', 'Opis')
));



---EDIT---

NIKT NA TYM FORUM NIE ZNA JS questionmark.gif
erix
Cytat
NIKT NA TYM FORUM NIE ZNA JS

Nikt na tym forum nie jest jeleniem.
Cytat
Niestety nie wiem jak przerobić ten skrypt i gdzie go przerobić. Prosze o pomoc!

Pokaż swoje zmagania, bo Twój post jest ewidentnie żmędaniem gotowca, dlatego jest ignorowany.
thomson89
Wszędzie widzicie gotowce ;p

Samemu jakoś mi nie wychodzi od podstaw, a w tym kodzie nie mogę się połapać co jak. Założenie mojej galeri jest proste: dajemy image i opis oraz tytul z tabelki, potem przycisk dalej i wstecz zmienia liczbe o 1+ albo 1-. A w tym kodzie ten kawałek kodu jest dla mnie zbyt skomplikowany i nie moge go znaleźć...
erix
Cytat
Wszędzie widzicie gotowce ;p

Je¶li nie ma inicjatywy, to odpowiedĽ nasuwa się sama.

Pokaż, co Ci nie wychodzi.
thomson89
Co mi nie wychodzi to tutaj: Temat: JavaScript_Problem_z_kodem_liczacym. A tutaj to szukam, szukam i próbuję się wzorować. Przejrzałem już chyba z 50 tematów na temat galerii na tym forum i kilka innych znalazłem na googlach ale mi nie idzie sleep.gif
Wolfie
Radziłbym zacz±ć od mniej skomplikowanych przykładów, albo zrobić swój prosty skrypt.....zebys złapał sens.....przynajmniej ja tak robie snitch.gif
thomson89
Cytat(Wolfie @ 8.04.2009, 20:23:42 ) *
Radziłbym zacz±ć od mniej skomplikowanych przykładów, (...)

Sytuacja stwarza tak± potrzebę...
Cytat(Wolfie @ 8.04.2009, 20:23:42 ) *
(...) albo zrobić swój prosty skrypt (...)

Próbuję, patrz wyżej smile.gif
Cytat(Wolfie @ 8.04.2009, 20:23:42 ) *
zebys złapał sens.....

Taki jest mój cel... tongue.gif
Cysiaczek
Kontynuuj zatem w tamtym temacie, nie twórz nowego. Mocno polecam lekturę regulaminu

Pozdrawiam,
zamykam, wywalę a jak nie to kto inny
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.