{{ tocSubheader }}
| {{ 'ml-lesson-number-slides' | message : article.intro.bblockCount}} |
| {{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount}} |
| {{ 'ml-lesson-time-estimation' | message }} |
Jrhoads (Diskussion | bidrag) (Den här versionen är märkt för översättning) | Jonas (Diskussion | bidrag) | ||
Rad 5: | Rad 5: | ||
<jsxgpre id="koordinatsystemGraf293"> | <jsxgpre id="koordinatsystemGraf293"> | ||
− | var b = mlg.board( | + | xMax = 6.5; |
+ | xMin = -6.5; | ||
+ | yMax = 6.5; | ||
+ | yMin = -6.5; | ||
+ | |||
+ | var padding = 0.5; | ||
+ | var border = 0.5; | ||
+ | |||
+ | var b = mlg.board([xMin,yMax,xMax,yMin],{desktopSize:'medium'}); | ||
var xax = b.xaxis(1,0); | var xax = b.xaxis(1,0); | ||
− | var yax = b.yaxis(1,0); | + | var yax = b.yaxis(1,0); |
− | var p1 = b.point(3,4,{fixed:false}); | + | |
− | + | var p1 = b.point(3,4, {fixed:false}); | |
− | + | ||
− | + | var pullMe = b.txt(4.1, 4.5, 'Dra mig!', {mathMode:false}); | |
− | var | + | |
− | + | var calc = b.txt(-4,function() { | |
− | + | if ((p1.Y() > 4) && (p1.X() < -2)) { | |
− | var | + | return -5; |
− | + | } | |
− | + | else { | |
− | + | return 5; | |
− | + | } | |
+ | },'(3.0,4.0)',{flag:true,fontsize:1.1}); | ||
$(b.getDiv(calc)).css({ | $(b.getDiv(calc)).css({ | ||
"text-align":"center", | "text-align":"center", | ||
"padding":"2px" | "padding":"2px" | ||
}); | }); | ||
− | var | + | |
− | b. | + | |
− | p1.on('drag',function(){ | + | var nx = b.node(3,0); |
+ | var ny = b.node(0,4); | ||
+ | |||
+ | var xArrow = b.segment(p1, nx, {touchLastPoint:false,lastArrow:true}); | ||
+ | var yArrow = b.segment(p1, ny, {touchLastPoint:false,lastArrow:true}); | ||
+ | |||
+ | p1.on('drag', function() { | ||
+ | b.hide([xArrow, yArrow, pullMe]); | ||
+ | b.changeText(calc, '(x,y)'); | ||
− | + | if (p1.X() - xMin < border) { | |
− | + | p1.moveTo([xMin+border, p1.Y()]); | |
− | + | } | |
− | + | if (xMax - p1.X() < border) { | |
− | if(p1. | + | p1.moveTo([xMax-border, p1.Y()]); |
− | + | } | |
+ | if (p1.Y() - yMin < border) { | ||
+ | p1.moveTo([p1.X(), yMin+border]); | ||
+ | } | ||
+ | if (yMax - p1.Y() < border) { | ||
+ | p1.moveTo([p1.X(), yMax-border]); | ||
} | } | ||
− | + | ||
− | + | if (Math.abs(nx.Y() - p1.Y()) < padding) { | |
− | + | xArrow.setAttribute({lastArrow:false}); | |
− | |||
} | } | ||
else { | else { | ||
− | + | xArrow.setAttribute({lastArrow:true}); | |
} | } | ||
− | if (p1.X() | + | if (Math.abs(ny.X() - p1.X()) < padding) { |
− | + | yArrow.setAttribute({lastArrow:false}); | |
} | } | ||
else { | else { | ||
− | + | yArrow.setAttribute({lastArrow:true}); | |
} | } | ||
− | |||
− | |||
}); | }); | ||
− | + | ||
− | + | p1.on('up', function() { | |
− | + | var tempText = '(' + p1.X().toFixed(1) + ',' + p1.Y().toFixed(1) + ')'; | |
− | + | tempText = tempText.replace(/-/g, '\\text{-}'); | |
− | + | var hasCallback = false; | |
− | + | if (Math.abs(p1.Y()) > padding) { | |
− | + | nx.moveTo([p1.X(),p1.Y() - Math.sign(p1.Y())*padding]); | |
− | + | nx.moveTo([p1.X(), 0],500, {callback:function() {b.changeText(calc,tempText)}}); | |
− | + | hasCallback = true; | |
− | + | } | |
− | } | + | else { |
− | if( | + | nx.moveTo([p1.X(), 0]); |
− | + | } | |
− | + | if (Math.abs(p1.X()) > padding) { | |
− | if( | + | ny.moveTo([p1.X() - Math.sign(p1.X())*padding,p1.Y()]); |
− | + | if (hasCallback) { | |
− | + | ny.moveTo([0,p1.Y()],500); | |
− | + | } | |
− | + | else { | |
+ | ny.moveTo([0,p1.Y()],500, {callback:function() {b.changeText(calc,tempText)}}); | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | + | else { | |
− | + | if (!hasCallback) { | |
− | if( | + | b.changeText(calc,tempText); |
− | + | } | |
− | + | ny.moveTo([0,p1.Y()]); | |
− | |||
} | } | ||
+ | b.show([xArrow, yArrow]); | ||
}); | }); | ||
</jsxgpre> | </jsxgpre> |