javascript - 将鼠标悬停在动画中的 HTML-5 Canvas 图像上即可播放/暂停

标签 javascript animation geometry html5-canvas dom-events

我有一个 HTML-5 Canvas ,其中有一个动画圆圈。引用如下JS代码。

function doFirst(){
   canvas = document.getElementById('myCanvas');
   context = canvas.getContext('2d');
   centerX = canvas.width / 4;
   centerY = canvas.height / 4;
   radius = 20;    
   dy=4;
   drawCircle(centerX,centerY,radius);
   myVar=setInterval(moveCirc,40);      
}

function moveCirc(){                
context.clearRect(0,0,canvas.width,canvas.height);
drawCircle(centerX,centerY,radius);
centerY+=dy;
if(centerY>canvas.height-50)
  clearInterval(myVar);     
}

function drawCircle(x,y,r){     
context.lineWidth = 2;
context.strokeStyle = '#003300';
context.fillStyle = 'blue';
context.beginPath();
context.arc(x, y, r, 0, 2 * Math.PI, true);
context.stroke();
context.fill();
}
window.addEventListener("load",doFirst,false);

我希望每当用户将鼠标移到圆圈上时,动画就会暂停并显示一条消息。当用户将鼠标移出圆圈时,动画应该从暂停的位置重新开始,并且消息应该消失。请帮助我实现此功能。

最佳答案

如果你使用的是 css3 动画那么 鼠标悬停更改 css 属性

-webkit-animation-play-state:暂停 暂停动画;

并从该点开始再次启动动画,更改 css 属性

-webkit-animation-play-state:运行

来源:http://css-infos.net/property/-webkit-animation-play-state

NB "-webkit "用于基于 webkit 的浏览器;对于 Mozilla 使用“-moz”,对于 opera 等使用“-o”。

关于javascript - 将鼠标悬停在动画中的 HTML-5 Canvas 图像上即可播放/暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680148/

相关文章:

javascript - MooTools 顶部面板未出现

javascript - 单击执行函数会出现错误

javascript - 在 ECMAScript 5 之后重新审视扩展原生原型(prototype)

android - 加速动画Android模拟器

javascript - 带有平滑淡入淡出效果的循环 jQuery 幻灯片

php - 通过 HTTPRequestObject.send 函数通过 POST 发送到 php 文件的信息的位置

wpf - 扩大/缩小 WPF 动画

java - 求圆心与圆心的夹角

language-agnostic - 有效地确定集合的边界

c++ - 使用具有自定义标量类型的 Eigen::Geometry 模块