Autor Zpráva
jarousek
Profil *
Dobrý den,

snažím se aby funkce po dovršení nějaké hodnoty ukončila činnost, ale aby se opět po aktivování rozjela. Mělo by to fungovat tak, že po najetí na obrázek se jakoby naroluje zvetšením výšky. Ale nemůžu přijít nato, jak při opětovném najetí na obrázek opět naroluje. Jak to mám napsané, tak se to provede pouze jednou správně a poté při dalším najetí se zvětší výška o 1

var k = 10;

function zvetseniObrazku ()
{
var obr = document.getElementById("r4");
obr.style.height = 10*k;
k++;
if (k==31 || k>30)
{
return;
}
setTimeout("zvetseniObrazku()",15);
};
Tori
Profil
Zkuste si nechat vypsat, jakou hodnotu má proměnná k při dalších voláních funkce. Zcela jistě to nebude 10.
jarousek
Profil *
no skončí na hodnote 31, ale kdyz bych zapsal

...
{
return k=10;
}
...

tak to zase skace a porad se meni hodnota z tech 10 do 31. Nějak mě nenapadá jak po ukončení funkce nechat hodnotu height na 30, což je standartní velikost a zároveň připravit její hodnotu zase na 10 aby při zavolání funkce obrázek opět naroloval
Tori
Profil
jarousek:
toto by mělo fungovat:
var k = 10; 

function zvetseniObrazku () 
{ 
  var obr = document.getElementById("r4"); 
  obr.style.height = 10*k; 
  k++; 
  if (k==31) 
  { 
    k = 10;
    return; 
  } 
  setTimeout("zvetseniObrazku()",15); 
}
jarousek
Profil *
Děkuji,
dělá to to samé jako return k=10, ale už chápu v čem je problém. Po najetí myši na obrázek se spustí funkce, tím se zmenší velikost obrázku a pokud je kurzor v dobu spuštění funkce výš a obrázek se sune směrem k myši tak při jejím dotyku se funkce opět spustí. Dal jsem tedy prozatím fukci pouze na popis obrázku a je to vyřešeno.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0