Chapter 9. Creating Media Rich, Interactive Web Effects
Pretty pictures. Cool videos. Sound!
The Web of the future will be a richer place with the new and improved innovations ready to use. Our old friends SVG and Canvas are getting new life and generating new interest. Added to them are the new video and audio elements included in HTML5, and the near-future potential of 3D graphics.
Best of all, none of these innovations requires any kind of proprietary plug-in—they’re all becoming integrated with all your browser clients, including those on your smartphones and tablets, as well as your computers.
Note
This chapter assumes you have some familiarity with the Canvas element, as well as SVG. A brief tutorial or introduction should be sufficient. I recommend the Mozilla Developer Network Canvas Tutorial and the W3C’s SVG Primer. MDN also has several good introductions to working with SVG.
Creating a Dynamic Line Chart in Canvas
Problem
You want to display a line chart in your web page, but the data changes over time, and you want to dynamically update it.
Solution
Use the canvas
element and the path
method to create the chart. When the data changes, update the chart:
var
array1
=
[[
100
,
100
],
[
150
,
50
],
[
200
,
185
],
[
250
,
185
],
[
300
,
250
],
[
350
,
100
],
[
400
,
250
],
[
450
,
100
],
[
500
,
20
],
[
550
,
80
],
[
600
,
120
]];
var
imgcanvas
=
document
.
getElementById
(
"imgcanvas"
);
if
(
imgcanvas
.
getContext
)
{
var
ctx
=
imgcanvas
.
getContext
(
'2d'
);
// rect one
ctx
.
strokeRect
(
0
,
0
,
600
,
300
);
// line path
ctx
.
beginPath
();
Get JavaScript Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.