JavaScriptová kalkulačka na stránce
S matematikou se člověk setkává opravdu na každém kroku. Nějaké to sčítání a odčítání (v horším případě násobení) s malými čísly spočítá většina z nás v hlavě, ale na složitější výpočty už potřebujeme kalkulačku. Proč ji tedy neumístit do své internetové stránky? Tento nepříliš složitý příklad by vám mohl dát inspiraci.
Zde se podívejte jak by takový kalkulátor mohl vypadat.
Jedná se o formulář s jedním vstupním prvkem input a několika tlačítky (button) srovnanými v tabulce. Pořadí a umístění je samozřejmě zcela na vašem úsudku.
|
Prvky mají zadefinovány kaskádové styly. Třída male je pro tlačítka s čísly a znaménka, třída velke pro nulu "C" a "=" a třída zavorky pochopitelně pro závorky:
|
Jak vidíte všechna tlačítka mají definovanou obsluhu události onClick.
Tato událost většinou volá funkci enter() s parametry název formuláře a proměnná (viz. dále). U tlačítka „=“ to je funkce compute() s parametrem název formuláře. „M+“ má soukromou funkci – mem() také s parametrem název formuláře. Tlačítko CLEAR pro smazání paměti ruší obsah proměnné pamet. Ještě tlačítko C se liší od ostatních. Je typu reset, z čehož vyplývá, že maže celý obsah formuláře.
Skript pro obsluhy tlačítek a deklarace proměnných je následující.
|
V proměnných jsou uloženy znaky tlačítek kalkulačky. Tyto proměnné dostává jako parametr funkce enter(), která je pomocí vlastnosti value objektu expr (prvek input ve formuláři) vkládá na "display" kalkulátoru. (Operátor += odpovídá syntaxi a = a + b).
Funkce compute() je ošetřena podmínkou, která testuje zda v prvku input jsou nějaké znaky. Pokud shledá, že ano, vepíše do input hodnotu výsledku pomocí funkce eval(). Ta vyhodnotí řetězec předaný v parametru a vrátí jeho hodnotu.
Poslední částí je funkce mem(). Opět je ošetřena podmínkou neprázdného prvku input. Poté přiřazuje hodnotu na "displayi" do proměnné pamet. Hodnotu umístí do závorek pro případ, že by obsahovala např. 19+5, která by při následném násobení dělala neplechu (* má vyšší prioritu než + a -). Tuto proměnnou znovu vyvolává tlačítko „MR“ – používá k tomu funkci enter().
Nashledanou příště.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Proč investovat do nejvýkonnějších VPS s AMD EPYC procesory
14. června 2024 -
Fandíme českým sportovcům a rozdáváme hosting ZDARMA!
26. července 2024
Nejnovější
-
Apple jde naproti práci s HDR monitory!
17. ledna 2025 -
Jak využít AI potenciál svého Macu?
9. ledna 2025 -
NIS2: Verifikace údajů vlastníků domén
6. ledna 2025 -
Dostali jste k vánocům PC? Využijte jeho AI potenciál!
3. ledna 2025
Prdelka
Čvn 10, 2014 v 11:02Nefunguje to -_-