Advertisement
Sax

Simply v1.0b

Sax
Jan 12th, 2015
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.79 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Simplificadora</title>
  6.     <style>
  7.         .col {
  8.             display: inline-block;
  9.             vertical-align: middle; }
  10.  
  11.         input {
  12.             border: 1px solid #e0e0e0;
  13.             border-radius: 0.1em;
  14.             display: block;
  15.             resize: none;
  16.             text-align: center;
  17.             width: 40px; }
  18.  
  19.         #less {
  20.             border: none;
  21.             visibility: hidden;
  22.             font-size: 0.8em;
  23.             width: 7px; }
  24.  
  25.         .up {
  26.             border-bottom: 1px solid #000; }
  27.  
  28.         .down{
  29.             border-top: 1px solid #000; }
  30.  
  31.  
  32.     </style>
  33.     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  34. </head>
  35. <body>
  36.     <div id="container">
  37.         <div class="col">
  38.             <input type="text" class="up" name="num" id="num" maxlength="4" onkeypress="return event.charCode >= 48 && event.charCode <= 57 || event.charCode == 45">
  39.             <input type="text" class="down" name="den" id="den" maxlength="4" onkeypress="return event.charCode >= 48 && event.charCode <= 57 || event.charCode == 45">
  40.         </div>
  41.  
  42.         <div class="col">
  43.             <button name="equal">=</button>
  44.         </div>
  45.  
  46.         <div class="col">
  47.             <input type="text" class="up" id="less" readonly="true" value="&ndash;">
  48.         </div>
  49.  
  50.         <div class="col">
  51.             <input type="text" class="up res" id="rnum" readonly="true">
  52.             <input type="text" class="down res" id="rden" readonly="true">
  53.         </div>
  54.     </div>
  55.  
  56.     <script>
  57.         $( "document" ).ready(function() {
  58.  
  59.             $( "button" ).click( function() {
  60.             //re-setting default css properties
  61.             $( "#rnum" ).css({ "border-bottom" : "1px solid #000" });
  62.             $( "#rden" ).css({ "border" : "1px solid #e0e0e0", "border-top": "1px solid #000"});
  63.             $( "#less" ).css({ "visibility" : "hidden" });
  64.             $( ".res").css("width","40px");
  65.  
  66.             var An, Ad;
  67.  
  68.             var n = $( "#num" ).val();
  69.             var d = $( "#den" ).val();
  70.  
  71.             if ( d == 0 ) {
  72.                 $( "#rnum" ).val( "\xA1NO ES UN" );
  73.                 $( "#rden" ).val( "N\xDAMERO!" );
  74.                 $( ".res").css("width","80px");
  75.  
  76.             return;
  77.             }
  78.  
  79.             if ( n % d == 0 ) {
  80.                 $( "#rden" ).css( {"border" : "none"});
  81.                 $( "#rnum" ).css({ "border-bottom" : "1px solid #e0e0e0" });
  82.                 $( "#rnum" ).val( n / d );
  83.                 $( "#rden" ).val("");
  84.             return;
  85.             }
  86.  
  87.             var hcf = 1;  //highest common factor
  88.             var nisneg = false;  //if numerator (n) is negative
  89.             var disneg = false;  //if denominator (d) is negative
  90.  
  91.             if ( n < 0 ) {
  92.                 nisneg = true;
  93.             }
  94.  
  95.             if ( d < 0 ) {
  96.                 disneg = true;
  97.             }
  98.  
  99.             An = Math.abs( n )
  100.             Ad = Math.abs( d )
  101.  
  102.             for ( var i = 2; i <= Math.min( An, Ad ); i++ ) {
  103.                 if ( An % i == 0 ) {
  104.                     if ( Ad % i == 0 ) {
  105.                         hcf = i;
  106.                     }
  107.                 }
  108.             }
  109.  
  110.             Ad = Ad / hcf;
  111.  
  112.             if ( nisneg != disneg ) {
  113.                 $( "#less" ).css({ "visibility" : "visible" });
  114.             }
  115.  
  116.             An = An / hcf;
  117.  
  118.             $( "#rnum" ).val( An );
  119.             $( "#rden" ).val( Ad );
  120.  
  121.             });
  122.         });
  123.     </script>
  124.  
  125. </body>
  126. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement