|
要求:在本文档中的题目下作答,提交本word文档即可。% q* Z: q' B+ i+ N
上次的作业大家都完成得很棒!笔芯~9 G9 O: |! }4 y1 w1 h! Z
接下来我们就去丰富内容啦。Number one在导航部位新添加一个动画页面链接。常言道:爱在心口难开。表达爱怎么能少的了❤呢。
: T3 E0 H; f1 ^. `2 l' C任务:在新的页面让来我们来制作一个心型的动画,来获取芳心吧。
0 L+ A- T3 e8 g% n; q0 ?
2 f( k3 P4 _- J/ h# s+ }& D0 k7 o" g7 U- K* n7 u7 j1 }7 C
# z- J$ \" d2 q: E% w. [5 ^ K& S图上是用canvas画出的动态的心形图片,参考代码如下:7 g, k. K- L/ \' E7 m1 v. n
<img id="flower" src="img/img-1.jpg">% j, A* @: P! o: q, W6 i
<canvas id="drawing" width="520" height="500"></canvas>
' h6 O# g& {" K <script type="text/javascript">
, Y A' z8 j$ e- u! S var drawing = document.getElementById("drawing"),
! C1 L" {1 x/ T; h8 c) w pic = document.getElementById('flower'),! z/ q9 C/ {0 f) X: J! `. |5 T
content = drawing.getContext("2d"),
3 Z! h' x" e' T( g9 q radian = 0,, H% L3 }8 ]& X$ L3 L
radian_add = Math.PI/40;
# U8 y- p9 C0 [- c) x$ I5 ^ content.translate(250,250);
2 v/ J& Q, n# T, r& d" h9 | function heart(){
' ]4 J2 ^ A( s% P0 b8 X4 d: A1 Z3 C X = getX(radian);
6 [. o q' o8 N" p e) @3 {3 H* o Y = getY(radian);9 b c" D! x! D+ Z# o( `- s. G! W
(1) //在给定坐标位置绘制给定大小的图片- J9 P$ Y2 i4 G6 A( o
radian+=radian_add;
/ ?3 t. z# v' u, }7 S if (radian > (2*Math.PI)){ //绘制完整的心型线后取消间歇调用
) _. l3 d4 N! T- W: c2 {7 I clearInterval(intervalId);
, L1 t8 M | ?* V1 f }: z) c: z( a) I* J4 A/ C" P
}# d* M! P) {" |" E6 _' ]$ D
intervalId = setInterval(heart,100); //设置间歇调用,间隔为100ms( i) B: f7 ^! ]; |. s9 O
function getX(t){ //获取心型线的X坐标+ k5 c2 y1 E6 N3 i
return 10*(16*Math.pow(Math.sin(t),3))0 s% F, Z/ D, p
}2 _1 J4 U$ Y" Q
( E4 U7 S% l+ W8 G
function getY(t){ //获取心型线的Y坐标
4 l. a9 S& S1 U+ s (2)
1 m( k- w3 p+ U" J8 P }
( A! \7 f' ^, j- p ]% r* m0 q) @3 C0 L4 x: F
1 d$ ` T$ t# ~4 h, O* a i
1.请用在给定坐标位置绘制给定大小的图片,在空白(1)处填写代码。
- L5 O1 Z C% e4 g- o; n2 E9 k$ L* W8 @8 o+ y( w4 n+ H
2.请在空白填(2)处获取心型线的Y坐标,填写代码。; U& z6 I7 }& W" _$ F9 O. _+ D
! @0 r' c7 W/ _8 v" f, x% K
|
|