Continuous function II
From JSXGraph Wiki
References
The underlying JavaScript code
var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-1, 10, 2, -2], axis: true});
var f = function(x) { return 1.0/x; };
var graph = board.create('functiongraph', [f,0.00001, 15], {strokeColor:'#00ff00'});
var s = board.create('slider', [[0,-1],[1.5,-1],[0,1,1]],{name:'ε'});
var x1 = board.create('glider', [1/2, 0, board.defaultAxes.x],{name:'a'});
board.suspendUpdate();
var y1 = board.create('point', [0,function(){return f(x1.X());}],{size:2,face:'[]',name:'f(a)'});
var y2 = board.create('point', [0,function(){return f(x1.X())-s.Value();}],{size:2,face:'[]',name:' '});
var y3 = board.create('point', [0,function(){return f(x1.X())+s.Value();}],{size:2,face:'[]',name:' '});
var z1 = board.create('point', [function(){return f(y1.Y());},function(){return y1.Y();}],{size:2,face:'[]',name:' '});
var z2 = board.create('point', [function(){return f(y2.Y());},function(){return y2.Y();}],{size:2,face:'[]',name:' '});
var z3 = board.create('point', [function(){return f(y3.Y());},function(){return y3.Y();}],{size:2,face:'[]',name:' '});
var v1 = board.create('segment', [z1,y1],{strokeColor:'gray',dash:2,strokeWidth:1});
var v2 = board.create('line', [z2,y2],{strokeColor:'gray',dash:2,strokeWidth:1});
var v3 = board.create('line', [z3,y3],{strokeColor:'gray',dash:2,strokeWidth:1});
var h1 = board.create('curve', [function(t){return z1.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});
var h2 = board.create('curve', [function(t){return z2.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});
var h3 = board.create('curve', [function(t){return z3.X();},function(t){return t},0,20], {strokeColor:'gray',dash:2,strokeWidth:1});
var txt = board.create('text', [1.2, 4.3, function() {
return 'δ = ' + Math.min(z1.X() - z3.X(), z2.X() - z1.X()).toFixed(5); }]);
board.unsuspendUpdate();