Autor | Zpráva | ||
---|---|---|---|
Argonisius Profil * |
#1 · Zasláno: 4. 10. 2008, 10:32:53
Dobrý den,
chtěl bych se zeptat, jestli je možné, aby funkce window.open otevřela okno ve ve velikosti rovné velikosti obrázku (mám- li totiž obrázek v rozlišení 800x600 na šířku, musel bych udělat jinou funkci pro obrázek 800x600 na výšku). Případně jestli se dá udělat nějaký javascript na rozpoznání rozlišení obrázku, aby se pak následně obrázek otevřel v okně 800x600, nebo 600x800 podle toho, jestli je na šířku nebo na výšku. Díky. |
||
Měsíček Profil |
#2 · Zasláno: 4. 10. 2008, 13:34:50 · Upravil/a: Měsíček
Druhá část je skoro popsána zde
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=49 050 První část budeš muset nejspíše udělat pomocí jiného jazyka (PHP) pro zjištění velikosti obrázků (možná to jde i v JS, ale o tom jsem nikdy neslyšel). V PHP by to šlo něják tak .. $velikost = getimagesize($adresa_org); $sirka = $velikost[0]; $vyska = $velikost[1]; |
||
Str4wberry Profil |
#3 · Zasláno: 4. 10. 2008, 16:28:22
Pokud jsou rozměry zadány v HTML kódu, což je vhodné, tak je můžete jednoduše použít jako parametry té funkce, která otevírá nové okno.
|
||
Argonisius Profil * |
#4 · Zasláno: 5. 10. 2008, 08:39:27
Pro Měsíčka: Myslíš že bys mi to mohl popsat podrobněji?
|
||
japlavaren Profil |
#5 · Zasláno: 5. 10. 2008, 11:18:24
ja by som to riesil 2 sposobmy:
1. priamo na odkaze obrazku by som mal onclick='return obrazok(400,300)'; a funkcia by otvorila pozadovane okno 2. do stranky by som si ulozil pole - nazov obrazku a rozmery. na obrazku by som mal onclick='return obrazok(this)' a funkcia by s pova vybrala ten spravny a otvorila ho prve riesenie je jednoduchsie, uvadzam jeho riesenie: <?php $obrazky=array('1.jpg', '2.jpg', 'cica.jpg', 'posledny.jpg'); $priecinok='./obrazky'; $priecinok_male="$prieconok/male"; foreach($obrazky AS $nazov) { $velkost=getimagesize("$priecinok/$nazov"); echo "<a href='$priecinok/$nazov' onclick='return otvor(this.href, $velkost[0],$velkost[1]'><img src='$priecinok male/$nazov' /></a>\n"; } ?> <script type='text/javascript'> function otvor(adresa, sirka, vyska) { window.open(adresa, '_blank', 'width='+sirka',height='+vyska); } ?> dufam ze ta nemam preklep |
||
peta Profil |
#6 · Zasláno: 7. 10. 2008, 07:39:23
Argonisius
Rozmer obrazku ve fotogalerii obvykle muze byt napriklad 1024x768 nebo na vysku. Jakykoliv jiny rozmer mimo prave tebou zvoleny jednotny rozmer pusobi dojmem amaterstiny. |
||
Bubák Profil |
#7 · Zasláno: 7. 10. 2008, 08:07:00
peta
„Rozmer obrazku ve fotogalerii obvykle muze byt napriklad 1024x768 nebo na vysku. Jakykoliv jiny rozmer mimo prave tebou zvoleny jednotny rozmer pusobi dojmem amaterstiny.“ A co píše Argonisius? „aby se pak následně obrázek otevřel v okně 800x600, nebo 600x800 podle toho, jestli je na šířku nebo na výšku.“ |
||
Časová prodleva: 10 dní
|
|||
bohyn Profil * |
#8 · Zasláno: 17. 10. 2008, 18:19:14
Jestli klikas na thumbnail tak proc to nezjistis podle rozmeru thumbnailu? (pokud teda u nahledu zachovavas pomer stran).
treba: <a href='URL' onclick='return !otevri(this);'><img src='obrazek' width='100' height='75' /></a> <script type='text/javascript'> function otevri(obj) { var sirka, vyska; // pozor na to aby byl obrazek prvnim potomkem // takze zadne mezery mezi <a> a <img> sirka = obj.firstChild.width < obj.firstChild.height ? 600 : 800; vyska = obj.firstChild.height < obj.firstChild.width ? 600 : 800; return window.open(adresa, '_blank', 'width='+sirka',height='+vyska); } </script> |
||
imploder Profil |
#9 · Zasláno: 17. 10. 2008, 18:22:20
„Jestli klikas na thumbnail tak proc to nezjistis podle rozmeru thumbnailu? (pokud teda u nahledu zachovavas pomer stran).“
Poměr stran nestačí, muselo by se zachovávat i měřítko (a to se normálně u thumbnailů nezachovává). Z poměru stran by se dal odvodit jenom poměr stran potřebného okna, ne jeho velikost. |
||
bohyn Profil * |
#10 · Zasláno: 17. 10. 2008, 18:32:55
Oprava:
return window.open(obj.href, '_blank', 'width='+sirka',height='+vyska); |
||
bohyn Profil * |
#11 · Zasláno: 17. 10. 2008, 18:34:33
„Poměr stran nestačí, muselo by se zachovávat i měřítko (a to se normálně u thumbnailů nezachovává). Z poměru stran by se dal odvodit jenom poměr stran potřebného okna, ne jeho velikost.“
Pokud ma jednotou velikost obrazku jak piste tak to bude fungovat |
||
Časová prodleva: 8 měsíců
|
|||
Argonisius Profil |
#12 · Zasláno: 29. 6. 2009, 11:49:27
Dobrý den, tak mám toto, ale bohužel mi to nefunguje a nevím proč. Poradíte?
<?php $pocet_obrazku = 19; $nazev_akce = "Fotogalerie"; $slozka_nahledy = "miniatury"; $slozka_velke = "velke"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="cs" xml:lang="cs"> <head> <title><?php echo "$nazev_akce" ?></title> <meta http-equiv="Content-type" content="text/html; charset=windows-1250"/> <meta http-equiv="Content-Language" content="cs"/> <script type='text/javascript'> function zvetsit(adresa, sirka, vyska) { window.open(adresa, '_blank', 'width='+sirka',height='+vyska'); } </script> </head> <body> <?php echo "$nazev_akce" ?> <?php $obrazek = 1; while ($obrazek <= $pocet_obrazku) { $velikost_nahled = getimagesize("$slozka_nahledy/${obrazek}.JPG"); $velikost_velke = getimagesize("$slozka_velke/${obrazek}.JPG"); echo "<a href=\"javascript:;\" onclick=\"zvetsit($slozka_velke/${obrazek}.JPG,$velikost_velke[0],$velikost_velke[1])\"><img src=\"$slozka_nahledy/${obrazek}.JPG\" alt=\"${obrazek}.JPG\" $velikost_nahled[3] />"; ++$obrazek; } ?> </body> </html> Díky. |
||
Argonisius Profil |
#13 · Zasláno: 30. 6. 2009, 18:15:01
Opravdu mi nikdo nemůže pomoct? Asi bude chyba v syntaxi javascriptu.... Díky
|
||
Chamurappi Profil |
#14 · Zasláno: 30. 6. 2009, 19:44:52
Reaguji na Argonisiua:
Ano, chyba je v syntaxi JS. „zvetsit($slozka_velke/${obrazek}.JPG,$velikost_velke[0],$velikost_velke[1])“ Řetězce se v JS (jako ve většině jiných jazyků) musí něčím obalit, aby se poznalo, že jsou to řetězce. Obal jméno souboru do apostrofů. |
||
tiso Profil |
#15 · Zasláno: 30. 6. 2009, 20:34:56
Tých chýb tam je viac, taký riadok 20.. Treba si naštudovať ako fungujú úvodzovky.
|
||
Argonisius Profil |
#16 · Zasláno: 1. 7. 2009, 09:50:11
Tak, už to funguje, ale pořád je tam někde chyba - výška okna není správná, asi zase špatný zápis....
Tady jsou výřezy scriptů, kde asi bude chyba: php: echo "<a href=\"javascript:;\" onclick=\"zvetsit('$slozka_velke/${obrazek}.JPG', '$velikost_velke[0]', '$velikost_velke[1]');\"> js: window.open(adresa, 'okno', 'width='+sirka, 'height='+vyska); Nenapadá mě nic, kde by mohla ta chyba být, nevíte? |
||
Argonisius Profil |
#17 · Zasláno: 1. 7. 2009, 10:04:43
Chyba bude tady:
width='+sirka, 'height='+vyska |
||
Časová prodleva: 15 let
|
0