Autor Zpráva
Binda
Profil *
Delší dobu pátrám na vebu jak vytvořit na vebových stránkách "slide show" až jsem včéra narazil na článek pana Berana kterej se tím tématem zabíral . Zkušený odborník by zajásal, jenomže pro mě je psaní webových stránek nadlidský výkon (proto používám Frontpage) ale to co tam napasal jsem zkopíroval do FrontPaga a funguje to. Jenomže už to neumím upravit. Potřeboval bych aby se prohlížení spustilo automaticky, výběr obrázků byl nahodilý (v rámci jednoho adresáře) a nemněnil se způsob prolínání. Je to možné? A jak?

Okopírovaný script

<script language="JavaScript">
<!--
zap=0
frekvence=3500
pocet_obrazku = 5
rotator=0
transtyp=0
obrsrc = new Array(pocet_obrazku)
obrsrc[0]="img01.jpg";
obrsrc[1]="img02.jpg";
obrsrc[2]="img03.jpg";
obrsrc[3]="img04.jpg";
obrsrc[4]="img05.jpg";
obr = new Array(pocet_obrazku);
for (i=0; i < pocet_obrazku; i++)
{
obr[i]= new Image();
obr[i].src= obrsrc[i]
}

function rotate(obr)
{
if (rotator==pocet_obrazku) {rotator=0;}
if (window.document.obrazek)
{
obrazek.filters.revealTrans.transition=transtyp;
obrazek.filters.revealTrans.Apply();
obrazek.src = obrsrc[rotator];
obrazek.filters.revealTrans.Play();
transtyp=transtyp + 1
}
rotator = rotator + 1
slide=window.setTimeout('rotate();',frekvence);
}
function zapni()
{
if(zap=="0")
{
rotate('slideshow');
document.forms[0].elements[0].value="Zastavit";
zap=1
}
else
{
document.forms[0].elements[0].value="Spustit";
clearTimeout(slide);
zap=0;
}
}
//-->
</script>

<form>
<input type="button" onClick="zapni();" value="Spustit" style="border: 1px solid gray; background: #E0F1DC">
</form>

<img name="slideshow" id='obrazek' src="img10.jpg" border="0" width="400" height="300" style="filter:revealTrans(duration=2)">
peta
Profil *
autospusteni + uprava kodu1:
---------------------------------------
<html>
<head>
<script type="text/javascript" language="javascript"><!-- Begin
... vse mezi script
// End --></script>
</head>

<body onload="zapni()">

<form>
...
</form>
...
</body>
</html>

uprava 2:
...misto:
obrsrc = new Array(pocet_obrazku)
obrsrc[0]="img01.jpg";
obrsrc[1]="img02.jpg";
obrsrc[2]="img03.jpg";
obrsrc[3]="img04.jpg";
obrsrc[4]="img05.jpg";
...je hezci:
obrsrc = [
"img01.jpg",
"img02.jpg",
"img03.jpg",
"img04.jpg",
"img05.jpg"
];
... a to jeste, pokud mas obrazky jako 01-99, tak muzes cele...
obrsrc = new Array(pocet_obrazku)
obrsrc[0]="img01.jpg";
obrsrc[1]="img02.jpg";
obrsrc[2]="img03.jpg";
obrsrc[3]="img04.jpg";
obrsrc[4]="img05.jpg";
obr = new Array(pocet_obrazku);
for (i=0; i < pocet_obrazku; i++)
{
obr[i]= new Image();
obr[i].src= obrsrc[i]
}
... napsat jako
var i,j;
var obr = new Array(pocet_obrazku);
for (i=0; i<pocet_obrazku; i++)
{
j=(i<10)?"0":"";j="img"+j+i+".jpg";
obr[i]= new Image();
obr[i].src=j;
}
...! ale musis zmenit i radek
obrazek.src = obrsrc[rotator];
... na
obrazek.src = obr[rotator].src;


nahoda
---------
zmenit: rotator = rotator + 1
na: rotator = Math.floor(Math.random()*pocet_obrazku)

prolinani
-----------
zmenit: transtyp=transtyp + 1
na nejake cislo: transtyp=5
(ale tim si ted nejsem zrovna jistej, filtry moc nepouzivam)
Binda
Profil *
Peto seš zlatičko, prolínání a nahoda už funguji jenom jsem neupravl transtyp = 5 ale
obrazek.filters.revealTrans.transition= 5;
Jenom jsem nepochopil kde mám co změnit kvuli tomu autospouštění.
peta
Profil *
Binda:
je treba spustit kod, teda to jsem si myslel...
<body onload="zapni()">

To ostatni bylo jenom pro doplneni kodu. To, co tam mas ty musis obklopit jeste temi tagy, co jsem ti napsal, a jeden z nich je body.
Cili stranka bude mit tento obsah:

<html>
<head>
<script type="text/javascript" language="javascript"><!-- Begin
... (ty tam mas script /script, a mezi temito znackami mas kod programu, to cele das sem. Ono to neni spatne, jak to mas, ale tohle je kvalitnejsi zapis)
// End --></script>
</head>

<body onload="zapni()">

<form action="#">
... (sem das vse mezi znackami form)
</form>
... (sem das to ostatni)
</body>
</html>

Takze jenom dopises nad a pod nejake znacky. Ty 3 tecky a zavorka, to se mi nechtelo prepisovat ten kod programu. Sem myslel, ze to znas. Ale zda se, ze ani o html a tak nic nevis. Zkus si prostudovat zdrojovy kod nejakeho javascriptu v prikladech.
www.jakpsatweb.cz Javascirpt - priklady - nejaky uprostred - zobrazit zdrojovy kod (menu v prohlizeci pod zobrazit)
peta
Profil *
konkretne body je znacka pro obsah, telo html. V cestine napises...
--- zacatek ---
--- konec ---

to spousteni scriptu...
ted to mas tak, ze funkce a spol jsou jako v body (ikdyz jej tam nemas napsane) Jenze tam neni spusteni toho prolinani, to mas az na tlacitka akci: onlick="neco()"
takze je treba tam ty znacky doplnit a zrovna nejlepe vsechby funkce presunout mezi head /head , pak muzes pouzit <body onload="neco()">

Pokud nechces menit kom, musis uplne na konec pred </script> pripsat spusteni:
<script>
... function, var, ...
neco();
</script>

v tvem pripade se funkce neco() nazyva zapni()

Jinak na takove dotazy ti tu asi nikdo moc neodpovi, protoze vsechny odpovedi jsou v jakpsatweb javascript, pripadne dale v prikladech.
Upravenim 2-3 prikaldu bys dostal tento samy script, ktery by slo jeste zjednodusit nez to, co jsem napsal, ale sem to radeji vzdal, kdyz jsem videl, jakym zpusobem to pokracuje :)

treba toto:
obrazek.filters.revealTrans.transition=transtyp;
obrazek.filters.revealTrans.Apply();
obrazek.src = obrsrc[rotator];
obrazek.filters.revealTrans.Play();

na toto:
with (obrazek.filters.revealTrans)
{
transition=transtyp;
Apply();
obrazek.src = obrsrc[rotator];
Play();
}

Mno, nevim zkratka kde jsi vytahl ten kod, ale je takovy ukazkovy, spise, vsechno ekne rozepsane :)
Binda
Profil *
Diky Peto za radu, opravdu o psaní webovych stránek nic nevim. Mám jen určitou představu a snažím se ji zhmotnit. Ten kod jsem okopíroval od nějakýho pana Berana kterej to tam měl jako ukázku. Ale jsem rád že mi to fungovalo.
Já se tím teď prokoušu a až to budu mít zhmotnělí tak "vám" dám vědět.
Moje zaměření je píš soustružník, frézař, svářeč, truhlář, kovář, opravař hydrauliky do 350Atm a další rukodělné práce. Ale někdo to naše občanské sdružení musí prezentovat na webu. A když su jedinej kterej může tak vlastně musim:) Proto omluv moji absolutní neznalost, A ještě jednou díky
peta
Profil *
Proc? To je v poho, aspon delas praci, ktera je videt, treba proti mne :) Jak prilozis na disk magnet, zlomis CD, tak ja mam vsechno vcudu :)
A ze na CD se vejde nekolikalete usili teto neviditelne prace :)

ten kod, davej odkaz na webku, nastesti tento je kratky, ale jsou tu machri, ktery prekopiruji 10 strankovy :)

Jinak ja neznam vsechny Berany ani ovecky :) Ale treba Lea znam :)

Ja ti dam taky pekne JS kody :) (ale neni to nic prekrasny a pouzivam tam i "eval()", kterou lidi tak miluji :) )
www.volny.cz/peter.mlich/hry/hry.htm
(mas tam i balicek RAR jestli se s tim vyporadas)
www.volny.cz/peter.mlich/Pr/menujs4/menu4.htm
Toto téma je uzamčeno. Odpověď nelze zaslat.