Autor Zpráva
ch4rli3
Profil
Mám problém s pohyblivým divem. Udělal jsem si, že když na něj najedu myší, tak se mi krásně plynule vysune...pokud nechám myš na divu po celou dobu vysouvání tak se pak krásně vrátí zpátky (už skokem) ale když několik divů nad sebou projedu rychle tak zůstanou rozhozené (nevrátí se na své místo - už si s tím vážně nevím rady a tudíž žádám o pomoc. Zde je kód:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <title>plynula zmena pozice divu</title>
  </head>
  <style>
  body {
	margin: 0;
	padding: 0;
	}
  #menu {border: 1px solid #000;
         width: 500px;
         height: 500px;
         margin: 10px;}
  
  .polozka {width: 120px;
            height:20px;
            background: #FF0000;
            border: 1px solid #000;
            cursor: hand;
            cursor: pointer;
            margin: 5px;}
  </style>
  <script>
function objGet(x) {
	if (typeof x != 'string') return x;
	else if (Boolean(document.getElementById)) return document.getElementById(x);
	else if (Boolean(document.all)) return eval('document.all.'+x);  // pro MSIE 4
	else return null;
}

function skok (idecko, kolik) {
    pocet=0;
    
  function posun(){ 
    div = objGet(idecko);
    pozice = div.offsetLeft;
    if (navigator.appName == "Microsoft Internet Explorer"){
    novaPozice=pozice+1; //
    }
    else {
    novaPozice=pozice+1-11;
    }
    div.style.marginLeft= novaPozice+"px";
    pocet++;
    if (pocet < kolik) setTimeout(posun,1);
  }
  posun();
}


  </script>
  <body>
  <div id="menu">
  <div id="prvni" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">
  </div>
  <div id="druha" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">
  </div>
  <div id="treti" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">
  </div>
  <div id="ctvrty" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">                           
  </div>
  <div id="paty" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">
  </div>
  <div id="sesty" class="polozka" onMouseOver="skok(this.id,'10')" onMouseOut="this.style.marginLeft='5px'" onclick="">
  </div>
  </div>
  </body>
</html>


zatím to mám vše v jednom souboru až to bude hotové tak si to rozdělím tak jak to má být...
peta
Profil
Jak ten casovac pozna, ze se ma DIV vysunout nebo zhasnout?
Pokud vidim, mas tam jen podminku na pocet kroku od 0 do 10 a to navic tu 10 predavas jako string '10' (cislo < string muze davat naprosto chybny vysledek).
ch4rli3
Profil
peta:
pozna to podle akce mysi ...na onmouse over se zavola funkce skok ktera spousti funkci posun...a ten promennou uz jsem opravil :-) ale porad to dela to ze se to sekne...a skocit zpatky ma v okamziku kdy je mys mimo div (onmouseOut)

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: