Autor | Zpráva | ||
---|---|---|---|
Luxx Profil * |
#1 · Zasláno: 20. 12. 2010, 22:33:20
Ahojky, sleduji témata na fotogalerie - proto by jsem se chtěl tomuto tématu věnovat úplně od základu až po vytvoření jednoduché, plně funkční fotogalerie, proto prosím všechny kdo má zájem o toto téma, ať se připojí do této diskuze.
Začneme od začátku - v html vytvořím tabulku, do které vložím miniatury obrázků. Následně na stránce vedle tabulky vytvořím div Teď se budu věnovat tlačítkům: další foto, přechozí foto - jak na to? |
||
Luxx Profil * |
#2 · Zasláno: 20. 12. 2010, 23:01:32
vytvořil jsem:
javascript: <SCRIPT Language="JavaScript"> <!-- obrazek = 1; pocetobrazku = 18; // Nastaveni aktualniho obrazku function aktualniobrazek () { document.images.imgprev.src = obrazek+".jpg"; //Nastaveni cisla obrazku document.slide.PicNum.value = obrazek; } //Nasledujici obrazek function dlasiobrazek () { if (obrazek == pocetobrazku) obrazek = 1; else obrazek++; aktualniobrazek (); } } </SCRIPT> a HTML: <a href="#" onclick="dlasiobrazek ()">Next >></a> Proč to nenačítá další obrázek? Děkuji |
||
Petr Wudi Profil |
#3 · Zasláno: 20. 12. 2010, 23:11:37
No, třeba u podmínky dole nejsou závorky {}. Já jsem teď spáchal toto. (funkčnost neověřována, je to jen pro inspiraci)
Javascript: var cislo = 1; var adresa =""; var adresy = new Array("fotka.jpg", "obrazek.jpg", "rozmazanej-flek,jpg" ); //Všechny adresy fotek function dalsi(){ if (cislo < počet fotek, v tomto případě 3){ //podmínka aby se neměnily fotky i když už jsme všechny prohlédli adresa = adresy[cislo - 1] //do proměnné „adresa“ se načte konkrétní jedna adresa }; } document.getElementById("nahled").src = adresa; //zdroj obrázku se změní na to, co je v proměnné adresa cislo++; // číslo se zvětší o 1 HTML <div id="nahled"></div> (to je ten div se zvětšenou verzí) <a href="javascript:dalsi()">Další</a> Mimochodem, proč se ptáš, když jsi na to částečně přišel sám? |
||
Luxx Profil * |
#4 · Zasláno: 20. 12. 2010, 23:18:18
Nemůžu přijít co mám na tom scriptu špatně - snažím se to doladit, ale pořád mi to neběží - nemůžu přijít na chybku víš?
|
||
Petr Wudi Profil |
#5 · Zasláno: 20. 12. 2010, 23:30:51
Zkoušel jsem ti to trochu poupravit a toto fungovalo:
var obrazek = 1; var pocetobrazku = 18; function aktualniobrazek(){ alert(obrazek); } function dlasiobrazek(){ alert(obrazek); if (obrazek == pocetobrazku) {obrazek = 1;} else {obrazek++; aktualniobrazek();} } |
||
yFang Profil |
#6 · Zasláno: 20. 12. 2010, 23:34:17
Na co tam máte funkci aktualniobrazek(), proč to nemůže být rovnou součást funkce dalsiobrazek()?
|
||
Luxx Profil * |
#7 · Zasláno: 20. 12. 2010, 23:39:44
Petr Wudi:
Vyskakuje mi alert s čísly, místo obrázků - má to tak dělat? yFang: Jak by se to dalo zprcovat aby to bylo součástí f-ce? |
||
yFang Profil |
#8 · Zasláno: 20. 12. 2010, 23:41:58
Zjednodušil bych to na tohle:
function dlasiobrazek () { if (obrazek == pocetobrazku) obrazek = 1; else obrazek++; document.images.imgprev.src = obrazek+".jpg"; } |
||
Luxx Profil * |
#9 · Zasláno: 20. 12. 2010, 23:42:40
Script počítá správně - na základě ověření alert, akorát v divu nezobrazuje obrázky proč?
|
||
yFang Profil |
#10 · Zasláno: 20. 12. 2010, 23:44:26
Luxx:
Dej nejlépe živou ukázku, takhle to je jako kdybych napsal: Motor funguje dobře, ale nejde otočit volantem, proč? |
||
Luxx Profil * |
#11 · Zasláno: 20. 12. 2010, 23:47:37
oki posíám ukázku:
<head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> <link rel="stylesheet" type="text/css" media="screen" /> <title>Fotogalerie</title> <SCRIPT Language="JavaScript"> <!-- var obrazek = 1; //aktualni foto var pocetobrazku = 18; // pocet fotek // Nastaveni aktualniho obrazku function aktualniobrazek () { document.images.imgprev.src = obrazek+".jpg"; //Nastaveni cisla obrazku document.slide.PicNum.value = obrazek; } //Nasledujici obrazek function dlasiobrazek() { if (obrazek == pocetobrazku) obrazek = 1; else obrazek++; document.images.imgprev.src = obrazek+".jpg"; } </SCRIPT> <img Src="obrazek111.JPG" Name="imgprev" id="obr"> |
||
Luxx Profil * |
#12 · Zasláno: 20. 12. 2010, 23:49:54
V mozile to nereaguje, v IE to jakokdyby načetlo prázdný obrázek. Mohlo by to být špatně nastavenou cestou?
|
||
Petr Wudi Profil |
#13 · Zasláno: 20. 12. 2010, 23:51:54
Alert je tam proto, že jsem s ním testoval funkčnost a zapomněl smazat. A kompletní funkční zmenšený kód by tedy vypadal takto:
var obrazek = 1; var pocetobrazku = 18; function dlasiobrazek(){ if (obrazek == pocetobrazku) {obrazek = 1;} else {obrazek++; document.images.imgprev.src = obrazek+".jpg";} } A to už MUSÍ fungovat. Jinak je nějaký problém v HTML nebo mezi počítačem a židlí. |
||
yFang Profil |
#14 · Zasláno: 20. 12. 2010, 23:52:15
Luxx:
No dobře, ale ty máš funkci která předpokládá názvy obrázků 1.jpg - 18.jpg a najednou tam máš obrazek111.jpg. A zajímalo by mě na co tam je ta funkce aktualniobrazek(). |
||
Luxx Profil * |
#15 · Zasláno: 20. 12. 2010, 23:55:43
Aha, takže je možné že bude problém v tom když se obrázky jmenují jinak? než 1.jpg - 18.jpg?
|
||
Petr Wudi Profil |
#16 · Zasláno: 20. 12. 2010, 23:56:50
No to určitě je.
|
||
Luxx Profil * |
#17 · Zasláno: 21. 12. 2010, 00:09:50
Přejmenoval jsem všechny obrazky na 1-18.jpg, znovu nahrál na server, ale stale když zavolam funci
dlasiobrazek() |
||
Luxx Profil * |
#18 · Zasláno: 21. 12. 2010, 00:14:45
oka - už sem na to přišel - bylo to špatně zadanou cestou u
document.images.imgprev.src = obrazek+".jpg"; document.images.imgprev.src ="WEBOVA ADREA" +obrazek+".jpg"; |
||
Petr Wudi Profil |
#19 · Zasláno: 21. 12. 2010, 00:15:22
Možná tím, že javascript se nerozhoduje podle name ale id. Takže do <img Src="obrazek111.JPG" Name="imgprev" id="obr">
dej id="imgprev". A mohlo by se to rozchodit. A pak tu taky máme takový těžko zjistitelný chyby jako JPG/jpg apod |
||
Časová prodleva: 3 dny
|
|||
Luxx Profil * |
#20 · Zasláno: 23. 12. 2010, 20:24:10
Ano, je potřeba načítat specifickou příponu.
Mám další dotaz - jakým způsobem docílit aby, když kliknu na jakoukoliv miniaturu - mi zmizely miniatury a misto toho se otevřela do divu na stejne stránce zvětšená velikost klikuté miniatury ? Děkuji |
||
Časová prodleva: 13 let
|
0