user1835582s homework

see http://stackoverflow.com/questions/14021375/convert-string-arithmetic-operation

by bjelline

HTML

Expression: <input id="ex" value="100% - 1">
<input type="button" onclick="compute_and_display();" value="go!">
<div id="screen">
    <div id="box">
    </div>
</div>

CSS

#screen { background-color: #ddd }
#box { background-color: yellow; width: 50%; }
div { height: 40px; }

JavaScript

function compute( expression, width_100_percent ){
  console.log("will compute " + expression + " of " + width_100_percent);  

    while( m = /(\d+)%/.exec( expression ) ) {

        var r = new RegExp( m[0] );
        var v = width_100_percent * parseInt(m[1]) / 100;
        console.log("replace " + m[0] + " with " + parseInt(m[1])  + " with turns out to be " + v);
        expression = expression.replace( r, v );
    }        
    console.log("will eval " + expression); 
    var result = eval(expression);
    console.log(result);
    return result;
}


function compute_and_display() {
    console.log("compute_and_display()");
   var x = compute( $('#ex').val(), 
                    $('#screen').width() );
    $('#box').width( x );
    
}