// Define the id of your board in BOARDID
const board = JXG.JSXGraph.initBoard(BOARDID, {
boundingbox: [-1.5, 1.5, 1.5, -1.5],
keepaspectratio: true,
axis: true
});
var isPlaying = false;
var starttime = 0;
var timeElapsed = 0;
var interval;
var p = board.create('point',
[() => Math.cos(timeElapsed), () => Math.sin(timeElapsed)]
);
function playing() {
timeElapsed = (Date.now() - starttime) / 1000;
board.update();
}
function play() {
if (!isPlaying) {
starttime = Date.now();
isPlaying = true;
interval = setInterval(playing, 50);
}
}
function resetAnimation() {
clearInterval(interval);
timeElapsed = 0;
isPlaying = false;
board.update();
}
Copy to Clipboard
/*
This example is licensed under a
Creative Commons Attribution 4.0 International License.
https://creativecommons.org/licenses/by/4.0/
Please note that you have to mention
The Center of Mobile Learning with Digital Technology
in the credits.
*/
const BOARDID = 'your_div_id'; // Insert your id here!
const board = JXG.JSXGraph.initBoard(BOARDID, {
boundingbox: [-1.5, 1.5, 1.5, -1.5],
keepaspectratio: true,
axis: true
});
var isPlaying = false;
var starttime = 0;
var timeElapsed = 0;
var interval;
var p = board.create('point',
[() => Math.cos(timeElapsed), () => Math.sin(timeElapsed)]
);
function playing() {
timeElapsed = (Date.now() - starttime) / 1000;
board.update();
}
function play() {
if (!isPlaying) {
starttime = Date.now();
isPlaying = true;
interval = setInterval(playing, 50);
}
}
function resetAnimation() {
clearInterval(interval);
timeElapsed = 0;
isPlaying = false;
board.update();
}
<button onclick="play()">play</button> <button onclick="resetAnimation()">reset</button>
<div id="board-0-wrapper" class="jxgbox-wrapper " style="width: 100%; ">
<div id="board-0" class="jxgbox" style="aspect-ratio: 1 / 1; width: 100%;" data-ar="1 / 1"></div>
</div>
<script type = "text/javascript">
/*
This example is licensed under a
Creative Commons Attribution 4.0 International License.
https://creativecommons.org/licenses/by/4.0/
Please note that you have to mention
The Center of Mobile Learning with Digital Technology
in the credits.
*/
const BOARDID = 'board-0';
const board = JXG.JSXGraph.initBoard(BOARDID, {
boundingbox: [-1.5, 1.5, 1.5, -1.5],
keepaspectratio: true,
axis: true
});
var isPlaying = false;
var starttime = 0;
var timeElapsed = 0;
var interval;
var p = board.create('point',
[() => Math.cos(timeElapsed), () => Math.sin(timeElapsed)]
);
function playing() {
timeElapsed = (Date.now() - starttime) / 1000;
board.update();
}
function play() {
if (!isPlaying) {
starttime = Date.now();
isPlaying = true;
interval = setInterval(playing, 50);
}
}
function resetAnimation() {
clearInterval(interval);
timeElapsed = 0;
isPlaying = false;
board.update();
}
</script>
QR code for example "Animation with setInterval"
Copy to Clipboard
/*
This example is licensed under a
Creative Commons Attribution 4.0 International License.
https://creativecommons.org/licenses/by/4.0/
Please note that you have to mention
The Center of Mobile Learning with Digital Technology
in the credits.
*/
const BOARDID = 'your_div_id'; // Insert your id here!
const board = JXG.JSXGraph.initBoard(BOARDID, {
boundingbox: [-1.5, 1.5, 1.5, -1.5],
keepaspectratio: true,
axis: true
});
var isPlaying = false;
var starttime = 0;
var timeElapsed = 0;
var interval;
var p = board.create('point',
[() => Math.cos(timeElapsed), () => Math.sin(timeElapsed)]
);
function playing() {
timeElapsed = (Date.now() - starttime) / 1000;
board.update();
}
function play() {
if (!isPlaying) {
starttime = Date.now();
isPlaying = true;
interval = setInterval(playing, 50);
}
}
function resetAnimation() {
clearInterval(interval);
timeElapsed = 0;
isPlaying = false;
board.update();
}
<button onclick="play()">play</button> <button onclick="resetAnimation()">reset</button>
<div id="board-0-wrapper" class="jxgbox-wrapper " style="width: 100%; ">
<div id="board-0" class="jxgbox" style="aspect-ratio: 1 / 1; width: 100%;" data-ar="1 / 1"></div>
</div>
<script type = "text/javascript">
/*
This example is licensed under a
Creative Commons Attribution 4.0 International License.
https://creativecommons.org/licenses/by/4.0/
Please note that you have to mention
The Center of Mobile Learning with Digital Technology
in the credits.
*/
const BOARDID = 'board-0';
const board = JXG.JSXGraph.initBoard(BOARDID, {
boundingbox: [-1.5, 1.5, 1.5, -1.5],
keepaspectratio: true,
axis: true
});
var isPlaying = false;
var starttime = 0;
var timeElapsed = 0;
var interval;
var p = board.create('point',
[() => Math.cos(timeElapsed), () => Math.sin(timeElapsed)]
);
function playing() {
timeElapsed = (Date.now() - starttime) / 1000;
board.update();
}
function play() {
if (!isPlaying) {
starttime = Date.now();
isPlaying = true;
interval = setInterval(playing, 50);
}
}
function resetAnimation() {
clearInterval(interval);
timeElapsed = 0;
isPlaying = false;
board.update();
}
</script>