![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 7.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam galerie opartą na javie, miniaturki się ładnie wyświetlają na stronie gdy kilknę na miniaturkę otwiera sie nowe okno ze zdjęciem w normalnych rozmiarach. Nie potrafię sobie poradzic z nasępującym problemem: gdy kliknę odśwież na oknie ze zdjęciem w pełnych wymiarach to pozbawia go to stylu, w tym oknie jest też menu nawigacyjne do przechodzenia na kolejne zdjęcia, normalnie działa ok, ale po naciśnięciu F5 tak jak powiedziałem znika styl a po naciśnięciu na następny obrazek przeładowuje się okno ale nie wczytuje obrazka tylko obis i m. nawigacyjne, no i jest bez stylu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dopiero zaczynam z JS więc nie za bardzo potrafię się zorientować gdzie może być błąd. Galeria pochodzi z http://www.kurshtml.boo.pl/skrypty/przyklad,galeria.html i tam występuje ten sam bląd. function Galeria(modyfikacja, id, zdjecia, css, ochrona, zaladuj) { this.kolumny = 2; this.naStronie = 4; this.modyfikacja = modyfikacja; this.id = id; this.zdjecia = zdjecia; this.ochrona = typeof ochrona != 'undefined' ? ochrona : false; this.css = css; var okno = null; var idthotel = null; var nazwa_obr = new Array(this.zdjecia.length); for (var i = 0; i < this.zdjecia.length; i++) { idthotel = this.zdjecia[i][0]; nazwa_obr[i] = this.zdjecia[i][1]; this.zdjecia[i][0]= 'galeria/' + idthotel + '/miniaturki/' +nazwa_obr[i]; this.zdjecia[i][1]= 'galeria/' + idthotel + '/' +nazwa_obr[i]; } 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><div style="height:200px;">' + '<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></div>' + (typeof this.zdjecia[i][2] != 'undefined' ? '<div class="tytul_obrazka">' + this.zdjecia[i][2] + '</div>' : '') + (this.modyfikacja==1?'<a href="galeria.php?idthotel=1&nazwa='+nazwa_obr[i]+'">Edytuj</a>' + ' | '+ '<a href="galeria.php?idthotel=1&usun&nazwa='+nazwa_obr[i]+'">Usuń</a>': '') + '</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 = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">' + '<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' + '<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, document.getElementById(\'img\').width+50), 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 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 class="tekst_opisu">' + this.zdjecia[i][3] + '</div>' : '') + stronicowanie + '</div>' + '</div>' + '</body>' + '</html>'; return html; //Math.min(screen.availWidth, Math.max(, document.getElementById(\'body\').offsetWidth)) //Math.min(screen.availHeight, document.getElementById(\'body\').offsetHeight)) //style="margin: 0; padding: 0" } this.pokaz = function(i) { try { okno.close() } catch (e) {} okno = window.open('', this.id, 'menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,re izable=yes,width=30,height=30'); if (!okno) return false; okno.document.close(); okno.document.write(this._pokaz(i)); okno.document.close(); okno.focus(); return true; } document.write('<div id="' + this.id + '"></div>'); this.wyswietl(); Ważne: Błąd występuje tylko w FF, w IE 6.0 jest niby ok. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 10:14 |