Autor Zpráva
Jim
Profil
Ahoj, mám scriptík a chtěl bych ho obohatit o jednu vlastnost:
<script type="text/javascript">
var i=Math.round(Math.random()*4)+1;
vloz='<img src="http://www.server-baby.cz/nahodne/'+i+'.jpg" width="150px" onclick="window.open(\'http://www.server-baby.cz/nahodne/'+i+'.jpg\'); ">'; document.write(vloz);
</script>

Chtěl bych jen aby se po kliknutí na tlačítko zobrazila další fotka v pořadí...

Mělo by to vypadat nějak takhle:
<script type="text/javascript">
var i=Math.round(Math.random()*4)+1;
vloz='<img src="http://www.server-baby.cz/nahodne/'+i+'.jpg" width="150px" onclick="window.open(\'http://www.server-baby.cz/nahodne/'+i+'.jpg\'); ">'; document.write(vloz);
</script>
<input type=submit onclick="window.open(\'http://www.server-baby.cz/nahodne/'i+1'.jpg\'); ">
ale to nefunguje. Může mi prosím někdo poradit? Díky!
habendorf
Profil
<input type=submit onclick="window.open('http://www.server-baby.cz/nahodne/' +i+1+'.jpg');">

Jinak místo submitu radši button, vyházel jsem zbytečné backslashe a ještě bys měl ošetřit stav když i==5.

Update: Chtěl jsem ti zvýraznit plus tučně, ale koukám že tučné plus vypadá skoro jako normální. Zkrátka chybělo ti tam plusko.
Anonymní
Profil *
Nechybí tam náhodou ještě jedno ... dne/' + ( i + 1 ) + '.jp ...
Jim
Profil
Zkusil jsem to s oběma verzema a nic se nezměnilo, tlačítko tam je ale nijak to nereaguje...
habendorf
Profil
Anonymní: Jasně, přehlédnutí :o) Ale závorka je IMHO zbytečná.
ah01
Profil
Sice nevím, k čemu takový skript je, ale pokud jde o funkčnost, tak ten poslední řádek má být takto:

<input type="button" value="dalsi" onclick="window.open('http://www.server-baby.cz/nahodne/' + (i + 1) + '.jpg'); "> 


a ta závorka není zbytečná, pak se totiž bere i a 1 jako řetězce a ne jako čísla, takže pak je výsledek 2 + 1 = 21
Jim
Profil
Super, to funguje tak díky, a ještě se zeptám na maličkost. Je to jen obrázek ve stránce a teď se to po kliknutí na tlačítko zobrazí v nové. Přidal bych target, ale to tady patří do input, nebo do onclick?
ah01
Profil
Vy tedy chcete, aby se nezobrazoval obrázek do nového okna, ale nahradil se ten stávající?
Jim
Profil
Ano.
ah01
Profil
V tom případě, bych ten script vytvořil jinak:

do hlavičky:

<script type="text/javascript">

var i;

window.onload = function(){
i = Math.round(Math.random()*4)+1;
document.getElementById('img').src = "http://www.server-baby.cz/nahodne/" + i + ".jpg"
}

function next()
{
if(i > 4) i = 0;
i++;
document.getElementById('img').src = "http://www.server-baby.cz/nahodne/" + i + ".jpg"
}

function op(img)
{
window.open(img.src);
}

</script>


v těle by pak bylo jen:


<img src="" id="img" onclick="op(this);" />
<a href="javascript:next();">dalsi</a>


(místo tlačítka je použit odkaz)
Jim
Profil
To je přesně ono, takhle to funguje, ale je trochu omezena fungčnost. Omlouvám se, já bych si to dodělal, ale ten nový script je na mě dost... To co jsem měl vytvořeno fungovalo tak že se po kliknutí otevřel obrázek. To tam teď vůbec není a já si s tímhle asi fakt neporadím. Ostatně mohu poslat odkaz: http://www.baby.cz/index.asp?thema=4333&category=
ah01
Profil
Chybička se vloudila, už je to opravené ...
Jim
Profil
Tak všem díky, ale ještě to úplně nefunguje. Nakonec je to v takovémhle stavu a nechápu proč to zobrazuje i sedmý obrázek, který není umístěn ve složce?? Zkuste se mi na to prosím podívat.

<script type="text/javascript">


var i;


window.onload = function(){

i = Math.round(Math.random()*5)+1;

document.getElementById('img').src = "http://www.server-baby.cz/nahodne/" + i + ".jpg"
}


function next()

{

if(i > 6) i = 1;

i++;

document.getElementById('img').src = "http://www.server-baby.cz/nahodne/" + i + ".jpg"
}


function op(img)

{

window.open(img.src);

}



</script>



<img src="" id="img" onclick="op(this);" />

<a href="javascript:next();">dalsi</a>
Jim
Profil
Tak tamto jsem už vyřešil, jen potřebuji malou dodělávku. Teď se mi to promítá i do toho obrázku na hlavní stránce, tak bych to potřeboval nějak oddělit.. Prosím.
http://www.baby.cz/index.asp?thema=4236&category=24
Toto téma je uzamčeno. Odpověď nelze zaslat.

0