Autor | Zpráva | ||
---|---|---|---|
Joan Profil |
#1 · Zasláno: 14. 10. 2010, 00:14:47
Využila jsem svých drobných znalostí plus laskavé nápomoci z fóra a spáchala jsem si skript, který mi bude velice k užitku! Předesílám, že na stránce je ZVUK. Než sklidím nevraživou kritiku ;-) za ozvučení, tak po vyzkoušení mé funkce budu pravděpodobně omilostněna.
Co mě hnalo k vytvoření takové stránky? V práci si musím vařit vodu na kafe či čaj v kuchyňce. Není problém si tam dojít, ale mám obrovský problém si pak na tu vodu vzpomenout! Když si konečně po čtvrthodině vzpomenu, tak je voda vlažná. Další ohřátí vede k dalšímu zapomenutí atd. Už mě to přestalo bavit :) Můj výtvor mi v podstatě funguje, už jsem se smířila s tím, že pouze v IE. Předlouho jsem se prala s nepochopitelným přehráním zvuku v Opeře okamžitě po natažení stránky, Firefox se dožadoval pluginu Apple QuickTime. Pak jsem přišla na to, čím to je: podmíněným komentářem tohoto typu! Když jsem podm. komentář napsala normálně, Opera KONEČNĚ zmlka a i Firefox zapomněl na nedostupnost pluginu. Tedy akovýto zádrhel se zápisem podmíněného komentáře jsem nečekala ani omylem. S jedním problémem bych ale prosila lehce pomoci: chci, aby se do inputu "Bylo zadáno:" vepsala tatáž hodnota, od které se má odpočítávat (tj. v tomhle i v zeleně orámovaném políčku aby bylo totožné číslo), ale nedocílila jsem žádným způsobem toho, aby se odpočítával pouze čas a co bylo zadáno, aby se nehnulo z místa. Vždycky se mi začalo zmenšovat i toto číslo. Jde nějak "zakázat" funkce pro konkrétní vstup? Do komentáře jsem uzavřela poslední ze svých pokusů ale taky potvora odečítá :-( tj. 11. a 12. řádek nedělá, co jsem chtěla. P.S.: Zvuk je hrozný, ale lepší nenápadný WAV jaksi nemám (aspoň prozatím) <body onload="zmenaStylu('sekundy', 'styl_pred'); document.fm.sekundy.focus();"> <script language="JavaScript" type="text/javascript"><!-- var c; var t; //var k; var zapnuto = 0; function pocitej() { c = parseInt(document.fm.sekundy.value); //if(k = parseInt(document.fm.sekundy.value)) { //document.fm.zadano.value = "Bylo zadáno: "+k+ " sekund"; } if(c>0) { c = c-1; document.fm.sekundy.value = c; t = setTimeout(pocitej, 1000); if(c==0) { zobrazit('kafe'); } } else { clearTimeout(t); } } function spust() { if(!zapnuto) { zapnuto = 1; t = setTimeout(pocitej, 1000); } } function zastav() { clearTimeout(t); zapnuto = 0; document.zvuk.stop(); } function zmenaStylu(prvek, styl) { document.getElementById(prvek).className = styl; //if(document.getElementById(prvek).className == styl_po) //{function pomaluZobraz} } function zobrazit(co) { var obr = document.getElementById(co), krok = 0.05, o = krok; for(var i = krok; i <= 1; i += krok) //za var krok lze rovnou dosadit 0.05 { setTimeout(krokAnimace, i * 700); //vzrusta cas v ms => vzrusta tmavost obrazku } function krokAnimace() { var of = Math.round((o) * 100); obr.style.cssText = "opacity: " + o + "; filter: alpha(opacity=" + of + "); -moz-opacity: " + o + "; -khtml-opacity: " + o + "; "; o += krok; } } //--> </script> <div id="minutka"> <h2>Pro zapomnětlivé...</h2> <p>Do zeleného políčka zadejte čas v <em><b>sekundách</b></em> a stiskněte tlačítko <em><b>Spusť</b></em>. V případě potřeby je možné běh skriptu zastavit tlačítkem <em><b>Zastav</b></em> anebo <em><b>Esc</b></em> . Díky nativní podpoře WAVů v Internet Explorerech je v nich skript bezproblémově funkční. Ve Firefoxu a Opeře se ale bez doinstalovaného pluginu neozve zvuk.</p> <form name="fm"> <input type="text" id="zadano" name="zadano" size=20 value="Bylo zadáno:"><br> <input type="button" id="zap" value="Spusť" onclick="spust();"> <input type="text" id="sekundy" name="sekundy"> <input type="button" id="vyp" value="Zastav" onclick="zastav();"> </form<br> <div id="sem"><img id="kafe" src="kafe.gif" style="visibility: hidden;"> </div> </div> </body> |
||
habendorf Profil |
#2 · Zasláno: 14. 10. 2010, 00:25:43
Joan:
Nechce se mi to zkoumat celé, ale jednu chybu vidím na první pohled: if(k == parseInt(document.fm.sekundy.value)) |
||
habendorf Profil |
#3 · Zasláno: 14. 10. 2010, 00:32:46
A nebo si ulož do oblíbených tuhle adresu: http://e.ggtimer.com/3minutes (čas nastav podle sebe, pokud dáš jen číslo, bude to v sekundách)
Ale chápu, že ani tak nechceš hotové řešení, jako spíš pocvičit se v JS ;o) |
||
Joan Profil |
#4 · Zasláno: 14. 10. 2010, 08:30:17
habendorf:
Díky za snahu, ale ani po protření brejlí tam nevidím DVĚ rovnítka, pouze jedno :-) . A neměnila jsem nic. Přesně tak, hotové jsem našla, ale tím se nenaučím nic. |
||
habendorf Profil |
#5 · Zasláno: 14. 10. 2010, 13:29:03
Joan:
„ale ani po protření brejlí tam nevidím DVĚ rovnítka, pouze jedno“ No právě :o)) |
||
Joan Profil |
#6 · Zasláno: 14. 10. 2010, 13:33:09
habendorf:
Bože, já jsem vůůl :-) |
||
Časová prodleva: 4 dny
|
|||
Joan Profil |
#7 · Zasláno: 18. 10. 2010, 15:51:50
habendorf:
Zkouším všechno možné, ale po zdvojení rovnítka (a samozřejmě odkomentování 5., 10. a 11.řádku) zůstane tento kousek skriptu zcela bez povšimnutí. S jedním rovnítkem to aspoň odečítalo, se dvěma už to nedělá vůbec nic. Místo 10. řádku jsem zkusila i if(k == c) ale taky bez úspěchu. |
||
Časová prodleva: 14 let
|
0