Помощник
|
Калькулятор |
to0n1
|
Сообщение
#1
|
||
|
|
||
|
|||
Galen |
24.4.2011, 3:02;
Ответить: Galen
Сообщение
#2
|
|
В коде было лень разбираться, поэтому на основе вашего написал свой вариант:
<script type="text/javascript" language="javascript" src="jquery.js"> </script>
<script type="text/javascript" language="javascript"> var first = null; var second = null; var func = null; //выполняем подсчёт function getresult() { var result; switch(func) { case "+": result = parseFloat(first) + parseFloat(second); break; case "-": result = parseFloat(first) - parseFloat(second); break; case "/": result = parseFloat(first) / parseFloat(second); break; case "*": result = parseFloat(first) * parseFloat(second); break; } return result; } // обработка кнопок с цифрами $(function() { $(".numb").click(function() { $("#tablo").val(parseFloat($("#tablo").val() + this.value)); }) }); //обработка кнопок с функциями $(function() { $(".func").click(function() { if(first == null) { first = ($("#tablo").val() == "")? "0": $("#tablo").val(); } else { if($("#tablo").val() == "") return; second = $("#tablo").val(); first = getresult(); second = null; } func = this.value; $("#tablo").val(""); } )}); // обработка равно $(function() { $(".ravno").click(function() { if(first == null) return; if(second == null) second = ($("#tablo").val() == "")? "0": $("#tablo").val(); if(func != null) { var res = getresult(); $("#tablo").val(res); first = null; second = null; func = null; } } )}); </script> <div class="mainapp"> <form action="" name="calc"> <input type="text" name="tablo" id="tablo" value="0" disabled="disabled"> <table border="0"> <tr> <td><input type="button" value="7" class="numb" ></td> <td><input type="button" value="8" class="numb"></td> <td><input type="button" value="9" class="numb" ></td> <td><input type="button" value="*" class="func"></td> </tr> <tr> <td><input type="button" value="4" class="numb"></td> <td><input type="button" value="5" class="numb"></td> <td><input type="button" value="6" class="numb"></td> <td><input type="button" value="/" class="func"></td> </tr> <tr> <td><input type="button" value="1" class="numb"></td> <td><input type="button" value="2" class="numb"></td> <td><input type="button" value="3" class="numb"></td> <td><input type="button" value="-" class="func"></td> </tr> <tr> <td><input type="button" value="0" class="numb"></td> <td><input type="button" value="." name="dot" onClick="but(dot)"></td> <td><input type="button" value="=" class="ravno"></td> <td><input type="button" value="+" class="func"></td> </tr> </table> </form> </div> |
|
|
to0n1
|
Сообщение
#3
|
|
Хм... Спасибо разобрался понял где был не прав .... но сделал по своему, оцените )))
[JS]var first=null; var second=null; var result=null; var func=null; var flag=false; $(function() { $(".numb").click(function() { if ( $("#tablo").val()=="0" || flag == true) { $("#tablo").val(this.value); flag=false; } else { if ($("#tablo").val().length !=13) $("#tablo").val($("#tablo").val()+this.value); } } )}); $(function() { $(".func").click(function() { var reg="[/*/+-]"; var str=$("#tablo").val(); var ProvercaFunc=str.match(reg); if (ProvercaFunc == null || ProvercaFunc == ".") { $("#tablo").val($("#tablo").val() + this.value); } else { var lastsimbol = str.substr(str.length-1,1); if (ProvercaFunc == lastsimbol) { var tmp=str.substr(0,str.length-1); tmp += this.value; $("#tablo").val(tmp); } else { var massiv= new Array(); massiv = str.split(ProvercaFunc); first = massiv['0']; second = massiv['1']; func = ProvercaFunc; $("#tablo").val(getresult(first,second,func) + this.value); } } flag = false; } )}); $(function() { $(".ravno").click(function() { var reg="[/*/+-]"; var str=$("#tablo").val(); var ProvercaFunc=str.match(reg); var lastsimbol = str.substr(str.length-1,1); if (ProvercaFunc == lastsimbol) { var massiv= new Array(); massiv = str.split(ProvercaFunc); first = massiv['0']; second = first; func = ProvercaFunc; $("#tablo").val(getresult(first,second,func)); flag=true; } else { var massiv= new Array(); massiv = str.split(ProvercaFunc); first = massiv['0']; second = massiv['1']; func = ProvercaFunc; $("#tablo").val(getresult(first,second,func)); flag=true; } } )}); function proverka(input) { input.value = input.value.replace(/[^\d.]/g, ''); } function getresult(one,two,funct) { if (one != null && two != null & funct != null){ if (funct == "+") result=parseFloat(one) + parseFloat(two); else if (funct == "-") result=parseFloat(one) - parseFloat(two); else if (funct == "/") result=parseFloat(one) / parseFloat(two); else if (funct == "*") result=parseFloat(one) * parseFloat(two); first = null; second = null; func=null; } var tmp =result.toString(); if (tmp.length>5) { tmp= result.toFixed(5); result = tmp; } return result; } function decimal () { var curReadOut = $("#tablo").val(); if ($("#tablo").val()=="0") { curReadOut = "0."; } else { var reg="[/*/+-]"; var str=$("#tablo").val(); var ProvercaFunc=str.match(reg); if (ProvercaFunc !=null) { var massiv= new Array(); massiv = str.split(ProvercaFunc); if (massiv['1'].indexOf(".") == -1) curReadOut += "."; } else { if (curReadOut.indexOf(".") == -1) curReadOut += "."; } } $("#tablo").val(curReadOut); }[/JS] |
|
|
Galen |
24.4.2011, 13:00;
Ответить: Galen
Сообщение
#4
|
|
Главное, что разобрались :)
|
|
|
Malganus |
30.4.2011, 15:52;
Ответить: Malganus
Сообщение
#5
|
|
я б не тыкал
[IMG]http://i20.fastpic.ru/thumb/2011/0430/ff/bd0fe05109b7dea7166f8320806c1eff.jpeg[/IMG] причем эта дрянь срабатывает при открытии страницы темы |
|
|
MetSerp |
30.4.2011, 16:20;
Ответить: MetSerp
Сообщение
#6
|
|
Malganus, снес сообщения этого клоуна перечитавшего журнал ксакеп, надеюсь ему еще и родители по заднице надают за невыученые уроки
|
|
|
MetSerp |
30.4.2011, 16:28;
Ответить: MetSerp
Сообщение
#7
|
|
|
а срабатывало за счет картинки которая вставлена в сообщение, клоуну выдан бан.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Кальку, точнее калькулятор в строительной тематике Нужен PHP код |
1 | MihalychAIP | 896 | 20.4.2022, 2:04 автор: sergogogo |
|
Ищется программист. Создать калькулятор цен на сайте JS | DLE |
0 | Mukis | 1662 | 1.4.2019, 15:24 автор: Mukis |
|
[Разработка плагина] Калькулятор WordPress Необходимо написать плагин под WordPress |
3 | mimoplus | 2954 | 9.10.2017, 15:07 автор: Alexandr_js |
|
Бесплатно сделаю на javascript онлайн калькулятор | 1 | drakon1988 | 1445 | 17.1.2017, 18:34 автор: fedornabilkin |
|
Бесплатно создадим калькулятор, дающий заявки с сайта! | 6 | Sky1 | 3035 | 1.12.2016, 22:16 автор: Sky1 |
Текстовая версия | Сейчас: 29.3.2024, 11:05 |