Javascript 在HTML元素的顶部处理JS?

Javascript 在HTML元素的顶部处理JS?,javascript,css,canvas,processing,processing.js,Javascript,Css,Canvas,Processing,Processing.js,我目前正在一个网站上使用带有HTML画布元素的处理JS。其目的是让处理JS在页面上HTML元素的顶部运行。该网站是[usandthings.com][1](通过查看该网站,我试图做的事情应该很明显——擦去黑色,露出白色背景,显示html文本)。但是,正如您所看到的,它非常慢-当它不在任何html上时,它工作得很顺利,但是当您将它拖到文本上时,它非常慢,并且实际上不起作用。有什么我可以解决的吗 编辑-这是显示我的意思的最简单的方式: 我们和其他人 身体{ 身高:100%; 宽度:100%; 溢出

我目前正在一个网站上使用带有HTML画布元素的处理JS。其目的是让处理JS在页面上HTML元素的顶部运行。该网站是[usandthings.com][1](通过查看该网站,我试图做的事情应该很明显——擦去黑色,露出白色背景,显示html文本)。但是,正如您所看到的,它非常慢-当它不在任何html上时,它工作得很顺利,但是当您将它拖到文本上时,它非常慢,并且实际上不起作用。有什么我可以解决的吗

编辑-这是显示我的意思的最简单的方式:


我们和其他人
身体{
身高:100%;
宽度:100%;
溢出:隐藏;
背景:白色;
}
p{
文本对齐:居中;
位置:绝对位置;
颜色:黑色;
宽度:自动;
字号:4em;
垂直对齐:中间对齐;
左:0;
右:0;
底部:0;
排名前10%;
}

文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此 文本在此文本在此文本在此文本在此文本在此文本在此文本在此

无效设置(){ 规模(2000年、2000年); 背景(0); 帧率(250); } 作废提款(){ 中风(255); 冲程重量(130); 冲程盖(圆形); 行(mouseX、mouseY、pmouseX、pmouseY); } void mousePressed(){ 背景(0); }
之所以发生这种情况,是因为html
块实际上位于处理草图的顶部

这会导致
块“吸收”鼠标事件,因此当您在html文本上方时,处理草图不会收到它们。换句话说,您的处理草图没有运行缓慢,只是没有获取事件

您可以使用CSS设置
块和/或处理草图的z索引,以便处理草图位于html文本的顶部,但是您还必须将处理草图设置为透明,然后使用类似PGraphics的内容作为遮罩。这是可行的,但需要对处理代码进行彻底检查

另一个选项是将
块设置为不接收鼠标事件。您可以通过将这一行添加到
块的CSS中来实现这一点:

pointer-events:none;

有了它,鼠标事件将正确地“落在”处理草图上。

这是因为html
块实际上位于处理草图的顶部(前面)

这会导致
块“吸收”鼠标事件,因此当您在html文本上方时,处理草图不会收到它们。换句话说,您的处理草图没有运行缓慢,只是没有获取事件

您可以使用CSS设置
块和/或处理草图的z索引,以便处理草图位于html文本的顶部,但是您还必须将处理草图设置为透明,然后使用类似PGraphics的内容作为遮罩。这是可行的,但需要对处理代码进行彻底检查

另一个选项是将
块设置为不接收鼠标事件。您可以通过将这一行添加到
块的CSS中来实现这一点:

pointer-events:none;

有了它,鼠标事件将正确地“落在”处理草图上。

这是因为html
块实际上位于处理草图的顶部(前面)

这会导致
块“吸收”鼠标事件,因此当您在html文本上方时,处理草图不会收到它们。换句话说,您的处理草图没有运行缓慢,只是没有获取事件

您可以使用CSS设置
块和/或处理草图的z索引,以便处理草图位于html文本的顶部,但是您还必须将处理草图设置为透明,然后使用类似PGraphics的内容作为遮罩。这是可行的,但需要对处理代码进行彻底检查

另一个选项是将
块设置为不接收鼠标事件。您可以通过将这一行添加到
块的CSS中来实现这一点:

pointer-events:none;

有了它,鼠标事件将正确地“落在”处理草图上。

这是因为html
块实际上位于处理草图的顶部(前面)

这会导致
块“吸收”鼠标事件,因此当您在html文本上方时,处理草图不会收到它们。换句话说,您的处理草图没有运行缓慢,只是没有获取事件

您可以使用CSS设置
块和/或处理草图的z索引,以便处理草图位于html文本的顶部,但是您还必须将处理草图设置为透明,然后使用类似PGraphics的内容作为遮罩。这是可行的,但需要对处理代码进行彻底检查

另一个选项是将
块设置为不接收鼠标事件。您可以通过将这一行添加到
块的CSS中来实现这一点:

pointer-events:none;

有了它,鼠标事件将正确地“通过”处理草图。

为什么这个问题被否决了?当然,这是一个合理的问题……它可能被否决了,因为我们不能真正重复这个问题。如果你发布一个-可能发布一个我们需要的所有文件的.zip文件,你会有更好的运气?为混乱的代码道歉-我上传了一个更简单的版本。我很好奇,所以我为此创建了一个提琴,并尝试了一些“技巧”,如翻译