Adapt highlighting of objects: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
(35 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<html> | |||
<div id="myinfobox" | |||
style=" | |||
z-Index:99; | |||
display:none; | |||
position:absolute; | |||
left:0px; | |||
top:0px; | |||
width:50px; | |||
background-color:#ffff88; | |||
padding:5px; | |||
text-align:center; | |||
/* Cross-browser opacity:*/ | |||
-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)'; | |||
filter: alpha(opacity=70); | |||
opacity:.7; | |||
" | |||
></div> | |||
</html> | |||
<jsxgraph width="600" height="600"> | <jsxgraph width="600" height="600"> | ||
// A simple construction, consisting of three points , two lines, one circle. | |||
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-5, 5, 5, -5], grid: false}); | var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-5, 5, 5, -5], grid: false}); | ||
var p1 = brd.create('point',[3,0]); | var p1 = brd.create('point',[3,0]); | ||
Line 8: | Line 28: | ||
var c = brd.create('circle',[p2,p3]); | var c = brd.create('circle',[p2,p3]); | ||
// First, we overwrite the highling method for ALL lines | |||
var infobox = document.getElementById('myinfobox'); | |||
JXG.Line.prototype.highlight = function(){ | JXG.Line.prototype.highlight = function(){ | ||
infobox. | var pos = this.getMousePosition | ||
infobox.innerHTML = this.board.mousePosRel.toString()+'<hr noshade>'+this.name; | |||
infobox.style.left = (this.board.mousePosRel[0]+0)+'px'; | |||
infobox.style.top = (this.board.mousePosRel[1]+0)+'px'; | |||
infobox. | infobox.style.display = 'block'; | ||
this.board.renderer.highlight(this); // highlight the line | |||
} | } | ||
JXG.Line.prototype.noHighlight = function(){ | JXG.Line.prototype.noHighlight = function(){ | ||
infobox. | infobox.style.display = 'none'; | ||
this.board.renderer.noHighlight(this); // dehighlight the line | |||
} | } | ||
/ | |||
//Second, we overwrite the highlighting method just for the circle c. | |||
c.highlight = function(){ | c.highlight = function(){ | ||
infobox.innerHTML = | infobox.innerHTML = this.board.mousePosRel.toString(); | ||
infobox.style.left = (this.board. | infobox.style.left = (this.board.mousePosRel[0]+0)+'px'; | ||
infobox.style.top = (this.board. | infobox.style.top = (this.board.mousePosRel[0]+0)+'px'; | ||
infobox.style.display = 'block'; | infobox.style.display = 'block'; | ||
} | } | ||
Line 30: | Line 55: | ||
infobox.style.display = 'none'; | infobox.style.display = 'none'; | ||
} | } | ||
</jsxgraph> | </jsxgraph> | ||
===The JavaScript code=== | ===The JavaScript code=== | ||
Create an invisible divsion: | |||
<source lang="html4strict"> | |||
<div id="myinfobox" | |||
style=" | |||
z-Index:99; | |||
display:none; | |||
position:absolute; | |||
left:0px; | |||
top:0px; | |||
width:50px; | |||
background-color:#ffff88; | |||
padding:5px; | |||
text-align:center; | |||
/* Cross-browser opacity:*/ | |||
-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)'; | |||
filter: alpha(opacity=70); | |||
opacity:.7; | |||
" | |||
></div> | |||
</source> | |||
<source lang="javascript"> | <source lang="javascript"> | ||
// A simple construction, consisting of three points , two lines, one circle. | |||
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-5, 5, 5, -5], grid: false}); | |||
var p1 = brd.create('point',[3,0]); | |||
var p2 = brd.create('point',[-1,0]); | |||
var p3 = brd.create('point',[0,4]); | |||
var l1 = brd.create('line',[p1,p2]); | |||
var l2 = brd.create('line',[p1,p3]); | |||
var c = brd.create('circle',[p2,p3]); | |||
// First, we overwrite the highling method for ALL lines | |||
var infobox = document.getElementById('myinfobox'); | |||
JXG.Line.prototype.highlight = function(){ | |||
infobox.innerHTML = this.board.mousePosRel.toString()+'<hr noshade>'+this.name; | |||
infobox.style.left = (this.board.mousePosRel[0]+0)+'px'; | |||
infobox.style.top = (this.board.mousePosRel[1]+0)+'px'; | |||
infobox.style.display = 'block'; | |||
this.board.renderer.highlight(this); // highlight the line | |||
} | |||
JXG.Line.prototype.noHighlight = function(){ | |||
infobox.style.display = 'none'; | |||
this.board.renderer.noHighlight(this); // dehighlight the line | |||
} | |||
//Second, we overwrite the highlighting method just for the circle c. | |||
c.highlight = function(){ | |||
infobox.innerHTML = this.board.mousePosRel.toString(); | |||
infobox.style.left = (this.board.mousePosRel[0]+0)+'px'; | |||
infobox.style.top = (this.board.mousePosRel[1]+0)+'px'; | |||
infobox.style.display = 'block'; | |||
} | |||
c.noHighlight = function(){ | |||
infobox.style.display = 'none'; | |||
} | |||
</source> | </source> | ||
[[Category: | |||
[[Category:Austragungsstueberl]] |
Latest revision as of 15:05, 24 February 2015
The JavaScript code
Create an invisible divsion:
<div id="myinfobox"
style="
z-Index:99;
display:none;
position:absolute;
left:0px;
top:0px;
width:50px;
background-color:#ffff88;
padding:5px;
text-align:center;
/* Cross-browser opacity:*/
-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
filter: alpha(opacity=70);
opacity:.7;
"
></div>
// A simple construction, consisting of three points , two lines, one circle.
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-5, 5, 5, -5], grid: false});
var p1 = brd.create('point',[3,0]);
var p2 = brd.create('point',[-1,0]);
var p3 = brd.create('point',[0,4]);
var l1 = brd.create('line',[p1,p2]);
var l2 = brd.create('line',[p1,p3]);
var c = brd.create('circle',[p2,p3]);
// First, we overwrite the highling method for ALL lines
var infobox = document.getElementById('myinfobox');
JXG.Line.prototype.highlight = function(){
infobox.innerHTML = this.board.mousePosRel.toString()+'<hr noshade>'+this.name;
infobox.style.left = (this.board.mousePosRel[0]+0)+'px';
infobox.style.top = (this.board.mousePosRel[1]+0)+'px';
infobox.style.display = 'block';
this.board.renderer.highlight(this); // highlight the line
}
JXG.Line.prototype.noHighlight = function(){
infobox.style.display = 'none';
this.board.renderer.noHighlight(this); // dehighlight the line
}
//Second, we overwrite the highlighting method just for the circle c.
c.highlight = function(){
infobox.innerHTML = this.board.mousePosRel.toString();
infobox.style.left = (this.board.mousePosRel[0]+0)+'px';
infobox.style.top = (this.board.mousePosRel[1]+0)+'px';
infobox.style.display = 'block';
}
c.noHighlight = function(){
infobox.style.display = 'none';
}