Autor | Zpráva | ||
---|---|---|---|
misho3 Profil * |
#1 · Zasláno: 15. 1. 2011, 17:18:18
Zdravím,
potreboval by som zmenu obrázku po kliknutí na jeho miniatúru.. Bude veľký obrázok a vedľa/pod miniatúry, na ktorú keď kliknem zobrazí sa ako veľký obrázok.. A takto prepínať.. ide o systém, kde obrázky pridávajú užívatelia a môžu pridať jeden alebo až 5 obrázkov (alebo žiadny).. Momentálne sa obrázky zobrazujú v plnej veľkosti pod seba.. Kód: $images = $sql->get("SELECT `i`.`id` FROM `images` AS `i` WHERE `i`.`clanky` = %d", $clanok['id']); if(!empty($images)) { foreach($images as $img) { echo '<img src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />'; } } $clanok['id'] = id článku $img['id'] = id obrázku - odlišuje sa od id článku.. Ďakujem veľmi pekne :) |
||
Radek Cvek Profil |
#2 · Zasláno: 15. 1. 2011, 17:37:58 · Upravil/a: Radek Cvek
nejdřív (pokud existuje) musí být zobrazen ten velký obrázek
echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id=1" />'; potom k těm náhledům v tom vypisovacím cyklu přidám (a mohu změnit velikost width= a height=): echo '<img onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />'; Jinak ty náhledy by měli být různé od těch obrázků v plné velikosti. To by se mělo dělat už při uploadování - takto |
||
misho3 Profil * |
#3 · Zasláno: 15. 1. 2011, 17:57:17
Dakujem,
ale nemohli by ste mi napísať ten script v celku? Teda stačí bez toho zmenšovania.. Až taký skúsený kóder nie som.. |
||
Radek Cvek Profil |
#4 · Zasláno: 15. 1. 2011, 18:00:51 · Upravil/a: Radek Cvek
<?php echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id=1" /><br />'; $images = $sql->get("SELECT `i`.`id` FROM `images` AS `i` WHERE `i`.`clanky` = %d", $clanok['id']); if(!empty($images)) { foreach($images as $img) { echo '<img width="20%" height="20%" onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />'; } } ?> |
||
misho3 Profil * |
#5 · Zasláno: 15. 1. 2011, 18:18:16
Dakujem, lenze to nefunguje..
Jednam v druhom riadku namiesto id=1 treba dat prvy obrazok z daneho clanku a tie miniatury asi nejak naodkazovat aby sa ten "velky" menil.. |
||
Radek Cvek Profil |
#6 · Zasláno: 15. 1. 2011, 18:39:36 · Upravil/a: Radek Cvek
1. neznám strukturu databází - první obrázek z článku asi bude toto:
echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id='".$clanok['id']"' ;" />'; 2. toto onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" zajistí, aby se velký měnil samozřejmě se musí změnit to DOMAIN aha - mám tam špatně uvozovky |
||
Radek Cvek Profil |
#7 · Zasláno: 15. 1. 2011, 18:51:14 · Upravil/a: Radek Cvek
správné uvozovky:
echo '<img width="20%" height="20%" onClick="document.getElementById(\'velky\').src=\'http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" src="http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" />'; |
||
misho3 Profil * |
#8 · Zasláno: 15. 1. 2011, 19:01:29
no teraz mi to nezobrazuje miniatury vobec..
Hladam tam kde končí onClick=" - lebo tá druhá (ukončujúca) úvodzovka tam nie je - aspoň ju nevidím |
||
Radek Cvek Profil |
#9 · Zasláno: 15. 1. 2011, 19:16:46 · Upravil/a: Radek Cvek
je to těžké psát po paměti - myslel jsem, že stačí nápad
echo '<img width="20%" height="20%" onClick="document.getElementById(\'velky\').src=\'http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '\'" src="http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" />'; |
||
misho3 Profil * |
#10 · Zasláno: 15. 1. 2011, 19:43:55
Ok.. veľmi pekne ďakujem..
ešte som si v tom vašom posledom kode zmenil jednu úvodzovku a pridal koncovú pre onClick a už to ide.. Tiež som si nastavil ten prvý obrázok podľa toho prvého scriptu (ktorý som pridal na začiatku) len som pridal LIMIT 1.. |
||
Časová prodleva: 13 let
|
0