问个问题~~~
来源:8-2 编程练习
Oo君陌oO
2019-03-07 21:15:48
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas动画</title> <style> canvas{background-color:lightblue;} </style> </head> <body> <canvas width="800px" height="800px" id="canvas">您的浏览器不支持canvas</canvas> <script> var canvas=document.getElementById("canvas"); var context=canvas.getContext("2d"); var fx=150,fy=0,xs=1,inter=true; canvas.onmousemove=function(e){ var hqx=e.offsetX,hqy=e.offsetY; if(hqx>fx && hqx<fx+50 && hqy>fy && hqy<fy+50){ inter=false; }else{ inter=true; } } setInterval(function(){ if(inter){ fy+=10*xs; } context.clearRect(0,0,canvas.width,canvas.height); context.fillStyle="green"; context.fillRect(fx,fy,50,50); if(fy+50>=canvas.height){ xs=-1; }else if(fy<=0){ xs=1; } },100) </script> </body> </html>
为啥onmoseover不可以呢
1回答
你好,代码实现效果是没有问题的。
onmouseover只是一个移入的动作,移入canvas之后,这个动作就停止了,所以没有效果产生。需要在canvas中一直移动才能判断位置生效。
祝学习愉快!
相似问题