javascript - 如何使canvas元素根据鼠标位置进行填充和重新填充

标签 javascript jquery html canvas onmousemove

我有一个脚本,它跟随鼠标的 Y 位置,然后填充 <canvas>宽度鼠标向下移动时的矩形。

换句话说:鼠标越低, Canvas 的着色区域就越大,反之亦然。

Fiddle here

现在的问题是 Canvas 仅填充,如果鼠标向上移动,填充区域保持不变而不是缩小。

提前致谢!

最佳答案

这是因为 Canvas 的字面意思就是 Canvas 。

您的脚本将线条绘制为绿色。它无法取消绘制该线。 您需要有一个相等的相反函数,不断从另一侧填充红色线。

如果不使用 Canvas,您可以更轻松地实现这一点。

$(document).mousemove(function(e){
    var mouseY = e.pageY;
    $('.fill').width(mouseY);
});

参见示例JSFIDDLE

您还可以像这样轻松地同时显示 X 和 Y:

$(document).mousemove(function(e){
    var mouseY = e.pageY;
    var mouseX = e.pageX;
    $('.fillY').width(mouseY);
    $('.fillX').width(mouseX);
});

参见示例 JSFIDDLE

关于javascript - 如何使canvas元素根据鼠标位置进行填充和重新填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30453917/

相关文章:

html - 拉伸(stretch)图像以适应整个容器宽度的 Bootstrap

javascript - JQuery获取标签内的html字符串

javascript - AUDIO 和 pitch 上的 playbackRate

javascript - 如何测试内部函数是否已从导入函数调用? (与 Jest.js)

javascript - 为什么以下脚本无法打开新选项卡或页面?

html - 如何使纯边框设计具有响应性?

javascript - HTML:在滚动过程中越过固定在页面顶部的粘性文本时屏幕断断续续

JQuery 在 LI 中选择第一个、第二个和第三个链接

javascript - 如何在按下按钮时加载 View ?

javascript - 使用 javascript 和 html 的视频