gpt4 book ai didi

javascript - 我如何在 html 5 图表中为每个栏包含鼠标悬停效果

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:50 25 4
gpt4 key购买 nike

我是 html5 的新手。我想通过 css 或 javascript 包含一些鼠标悬停功能,这样当我将鼠标悬停在特定栏上时,它必须显示一些消息。我不想去寻找一些 api。请帮帮我。这是我的代码。

<!doctype html>
<html>
<head>
<script type="text/javascript">
window.onload=function(){
var canvas=document.getElementById('mycanvas');
var ctx=canvas.getContext('2d');
var value=[180,140,30,340,50,90];
var width=50;
var currx=30;
ctx.fillStyle="red";
var i = 0;
var interval = setInterval(function(){
if (i == value.length){
clearInterval(interval);
return;
}
var h=value[i];
ctx.fillRect(currx,canvas.height-h,width,h);
currx+=width+10;
i++;
}, 2000);console.log(interval);
};
</script>
</head>
<body>
<canvas id="mycanvas" height="400" width="400" style="border:1px solid #c3c3c3;">
</body>
</html>

Demo on jsFiddle

最佳答案

你有两个选择:

  1. 使用类似 KineticJS 的库它将可绘制形状抽象为对象,并提供将它们绑定(bind)到鼠标事件的漂亮方法。这样做的好处是最大限度地减少了您一方所需的工作,从而让您可以专注于功能本身,而不是重新发明轮子。

  2. 推出您自己的解决方案,就像某人在创建上述库时所做的那样。为你的形状设计一些抽象(在这个例子中是某种 Bar 对象),它包含相关的特征(特别是 x、y、w、h)和 Canvas 上的 mousemove-event,通过所有的暴力您的条形图并计算事件鼠标位置是否在条形图内。然后采取相应的行动,例如以新颜色重新绘制条形图。当然,您还必须处理 mouseout(将其着色等)。

关于javascript - 我如何在 html 5 图表中为每个栏包含鼠标悬停效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11558412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com