Autor Zpráva
Bady
Profil *
Do JS som bublifuk, takze: mam malinke obrazky, ked na ne kliknem, xem nove okno s velkym obrazkom ALE! to okno bude mat rozmery toho velkeho obrazku, cize ziadny scrollbar, a ziadne menu by som tiez prosil ako na to? :P

a super by bolo este potom tlacitko zavriet v tom novom okne? heh, diky moc!
Mistr
Profil
bublifuk
Slováci říkají "bublifuk" tomu, čemu se v Čechách říká lama? :-)
dejvo01
Profil *
v minulosti som mal podobný problém pozri diskusiu:

http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=18 346
Mistr
Profil
Bady
Mrkni na odkaz, který zde nabízí dejvo01. Tam už jsme podobný problém vyřešili. Pokud by se však přesto vyskytl nějaký problém, zeptej se.
Bady
Profil *
Mistr
Slováci říkají "bublifuk" tomu, čemu se v Čechách říká lama? :-)

:D LOL jj tak neak, ale tu vetu s lamou uz niekto pouzil par prispevkov predomnou, tak som chcel byt originalny :D haha no idem si mrknut ten odkaz.
Linda
Profil
Kód od Mistra ve výše zmiňované diskusi:
<script>
var img_okno=0;

function show_image(img_link){

if(img_okno){
img_okno.close();
}


img_okno = window.open(img_link,"img_okno","toolbar=0,location=0,directories=0,st atus=0,menubar=0,scrollbars=0,resizable=0,dependant=1");
}
</script>

Každý obrázek pak v kódu budeš zapisovat následujícím způsobem:


<a onclick='show_image("cimrman.jpg");return(false);' href='cimrman.jpg' target='new'><img src='cimrman.jpg' border=0 alt=''Jára Cimrman"></a>


Přiznávam otevřeně, že já s tim mam problém... Otevře se mi sice nové okno, bez menu atp., ale nikoli ve velikosti obrázku... :o( Ach jo... Já jsem taky "bublifuk"
centi
Profil
http://www.fczbkk.com/js/pic_win2/index.html
Linda
Profil
centi

Sorry... Použila jsem to, ale pořád ten stejný problém - okno je větší, než obrázek o velikosti 800x600 px... :o(
Linda
Profil
centi

Promiň, ale... Použila jsem to a problém je pořád stejný - otevře se mi větší okno, než je obrázek o velikosti 800x600px... :o( Dík
Leo
Profil
"otevře se mi větší okno, než je obrázek o velikosti 800x600px"

To je tim, ze prohlizec nechava uvnitr okna vychozi okraj. Musite v tom okne mit html dokument (stranku), ne jen jpg nebo gif, a pak pres styl nastavit pro body margin a padding 0. Ten html dokument se da vkusne vygenerovat JavaScriptem. Leo
Anonymní
Profil *
centi

Promiň, ale... Použila jsem to a problém je pořád stejný - otevře se mi větší okno, než je obrázek o velikosti 800x600px... :o(
Linda
Profil
Leo

Mně by ani tak nevadily ty bílé proužky vedle obrázku, ale dám příklad - mně se s obrázkem o velikosti 800 x 600 px otevře okno zhruba o velikosti 900 x 950 px (rozliš. obrazovky mam 1280 x 960)... Zkrátka nevim, jak tenhle problém zkrotit... :o(
Bady
Profil *
Ani mne to neak nefacha stale... najlepsie bude dat sem priklad.
Chodte sem a vlavo pod obrazkom kliknite
">Larger Views"
Vie mi niekto poradit ako na to????
Bady
Profil *
ja sa asi poserem, ja som na to prisiel, takze mame napr.

index.htm s malym obrazkom,
big.htm, s velkym obrazkom. a body ma margin:0; padding:0
index.htm >>>
do head dame:
<script> 

var bublifuk=0;

function otvor(bublifuk){
noveOkno = window.open(bublifuk,"subWind","status,menubar,height=461,width=615");
noveOkno.focus( );
}

</script>

a normalne v body mame:
<a onClick='otvor("big/lama.html");'><img src="small/lama.jpg"></a>

heh, normalne som na seba pysny... :D
habendorf
Profil
Bady: Má to jen pár much.

1) big.htm, s velkym obrazkom a 'otvor("big/lama.html - to nějak nejde dohromady
2) bez JS se nestane vůbec nic, takže ten link to chce přepsat tak, aby se bez JS aspoň otevřel obrázek
3) pro každý obrázek budeš muset mít jednu html stránku, což je totální šílenost.

Nechci ti brát radost, jako pokus dobrý, prakticky ale naprosto nepoužitelný. Tohle se dělá úplně jinak.
Linda
Profil
3) pro každý obrázek budeš muset mít jednu html stránku, což je totální šílenost. - s tím 100% souhlasim - já dělám dvojjazyčný web a dělat 2 html stránky pro každou fotku se mi nechce... :o(

Nechci ti brát radost, jako pokus dobrý, prakticky ale naprosto nepoužitelný. Tohle se dělá úplně jinak.


habendorf

A vy (ty?) víte jak? Já vím, že jsme otravní, ale už je to lehká zoufalost... :o(
habendorf
Profil
Linda: A vy (ty?) Radši ty :o)

Jistě, přesně tak jak píše Leo. V openeru si připravit kód pop-upu, otevřít si pop-up požadovaných rozměrů, do pop-upu zapsat připravený kód. Prosté, elegantní, jednoduché. A hlavně budeš mít pouze jedinou html stránku se zmenšeninami, nic víc. Do pop-upu není problém dopsat třeba i navigaci - takové to první/předchozí/následující/poslední.
Bady
Profil *
jj, htm, html.... pisal som to spameti... No a ako by som mohol doplnit ten prikaz, aby sa mi vygenerovala cela nova stranka? mozes to niekto napisat??? lebo jedine co tu vidim je ze sa to da, ze to viete, ale ja hlupak stale neviem, skuste sa o svoju nekonecnu mudrost podelit. oki ? :D
Linda
Profil
habendorf

OK. Můj problém je, že nevim předem jak přesně veliký bude obrázek, tak jsem myslela něco universálního, co by mi otevřelo okno ve velikosti obrázku, aniž bych přesný údaje předem definovala...
Leo
Profil
"Můj problém je, že nevim předem jak přesně veliký bude obrázek, tak jsem myslela něco universálního, co by mi otevřelo okno ve velikosti obrázku, aniž bych přesný údaje předem definovala..."

Tak to mate klasicky problem (pokud to opravdu nevite predem). Javascript sice umi zjistit velikost obrazku, ale az pote, co se stahne do prohlizece. Takze varianta 1 je ta, ze uzivatel klikne na odkaz, otevre se nove okno nejake jednotne velikosti, a pote, co prijde obrazek, se JavaScriptem okno scvrkne nebo roztahne na jeho rozmery (window.resizeTo(sirka,vyska) je to tusim). Varianta 2 je ta, ze uzivatel klikne na odkaz, JavaScript odlozi otevreni okna a zacne stahovat obrazek, az ten prijde, zjisti jeho velikost, a teprve pak otevre okno uz se znamymi rozmery - podstatna vada je ta, ze uzivatel nevi proc se po kliknuti na odkaz nic nedeje... Pominul jsem krkolomnejsi reseni, kdy si JS na serveru na pozadi stranky vyzada nejdriv rozmer obrazku a pak ho teprve stahne, ale to je vyssi divci. Idealni je znat proste rozmery predem. Leo
habendorf
Profil
Linda:

Pokud ty rozměry opravdu neznáš, pak viz Leo. Otevři si malé okno, třeba 20x20px a pak ho resizni. Ale to by bylo asi jen v případě, že bys linkovala obrázky z nějaké cizí dynamicky generované stránky.

Pokud si nakonec uvědomíš, že ty rozměry přece jen nějak můžeš získat předem, dej sem vědět, budeme pokračovat.
Linda
Profil
Leo a habendorf

Já je samozřejmě vim předem - řešim svoji fotogalerii, kterou ale mam vyřešenou pomocí MySQL a PHP... Idea je taková, že se na stránce vypisují náhledy fotek a při kliknutí se otevře javascriptem nové okno, s pevnými rozměry... U 90% obrázků a wallpaperů je velikost stejná, jenom bych teda asi potřebovala ošetřit výjimky... :o(
habendorf
Profil
Tak jsou v podstatě dvě možnosti

1) jak píšeš - otvírat okno s konst. rozměry a jen hlídat výjimky
2) řešit to jako by každý obrázek měl jiné rozměry, co na tom, že se pak v kódu budou několikrát opakovat stejná čísla.

Já bych asi volil 2). Pomocí php bych si vypsal dvě JS pole - jména (srcy) a rozměry (případně další pole dle libosti, třeba popisky pro atribut title). A potom bych odkazem volal funkci (s parametrem), která by si šáhla do prvního pole pro odpovídající src obrázku (dle parametru), do druhého pole pro rozměry, na základě údajů (src) by si vytvořila odpovídající kód pop-upu, na základě rozměrů z pole by otevřela odpovídající okno a vepsala do něj připravený kód.
Linda
Profil
Ach jo. Zastřelte mě... Tohle je ten kódík od Centiho... Už nevim, co mám modifikovat, aby se mi po kliknutí otevřelo nové okno, jen se scrollbary, které se dá maximalizovat... Tuším, že to bude někde u "atts" ale zatim, když s tim jakkoliv hýbnu, otevře se mi klasické "_blank"... Nechávám to i s orig. komentářema... Dík :o(


var win4Pic = null;

function picWin(location,picWidth,picHeight,comment) {

var closeMsg = "click to close this window / kliknutím se okno zavře";

if (win4Pic && !win4Pic.closed) {
win4Pic.close();
}

/*
If we want to center the window, we need to know the screen resolution.
Then, if our picture is smaller than screen, we can place it to the center.
If it is bigger, then we will place it to the top left corner.
*/

availHeight = screen.height;
availWidth = screen.width;

if (availHeight < picHeight) {posTop = 0;}
else {posTop = (availHeight - picHeight)/2;}

if (availWidth < picWidth) {posLeft = 0;}
else {posLeft = (availWidth - picWidth)/2;}

/*
Construction of window attributes and then opening the window with these
attributes.
*/
atts = "width=" + picWidth + ",height=" + picHeight + ",directories=0,location=0,menubar=0,resizable=yes,scrollbars=yes,stat us=1,toolbar=0,top=" + posTop + ",left=" + posLeft;
win4Pic = window.open('','win4Pic',atts);

/*
Inserting the content to the window. Removing any borders (using BODY
attributes and borderless table). If picture is too small to fit window
(width or height less than 100px), placing it to the center. Closing the
window onClick and onBlur.
*/
win4Pic.document.open();
win4Pic.document.write("<html><head><title></title></head><body style='margin: 0px; padding: 0px;' marginwidth='0' marginheight='0' leftmargin='0' topmargin='0' onLoad='self.focus()'><table cellpadding='0' cellspacing='0' border='0' width='100%' height='100%'><tr><td align='center' valign='middle'><a href='#' onClick='self.close()'><img src='" + location + "' border='0' width='" + picWidth + "' height='" + picHeight + "' alt='" + closeMsg + "'></a></td></tr></table></body></html>");
win4Pic.document.close();

return true;
}
Pavel PS
Profil *
Tak to mate klasicky problem (pokud to opravdu nevite predem). Javascript sice umi zjistit velikost obrazku, ale az pote, co se stahne do prohlizece. Takze varianta 1 je ta, ze uzivatel klikne na odkaz, otevre se nove okno nejake jednotne velikosti, a pote, co prijde obrazek, se JavaScriptem okno scvrkne nebo roztahne na jeho rozmery (window.resizeTo(sirka,vyska) je to tusim). Varianta 2 je ta, ze uzivatel klikne na odkaz, JavaScript odlozi otevreni okna a zacne stahovat obrazek, az ten prijde, zjisti jeho velikost, a teprve pak otevre okno uz se znamymi rozmery - podstatna vada je ta, ze uzivatel nevi proc se po kliknuti na odkaz nic nedeje... Pominul jsem krkolomnejsi reseni, kdy si JS na serveru na pozadi stranky vyzada nejdriv rozmer obrazku a pak ho teprve stahne

Jak se udělá, že se počká až bude obrázek stažený a pak se teprve zobrazí?
kuban
Profil
Jo taky bych poteřboval to samé co Pavel PS protože jak zadávám velikosti, nikdy to nesedí a v každém prohlížeči je to uplně jiné...
Prostě Jak se udělá, že se počká až bude obrázek stažený a pak se teprve zobrazí?
Toto téma je uzamčeno. Odpověď nelze zaslat.