Reactjs 如何在React中检测背景色
有没有办法动态检测页面某一点的背景色?我有一个固定标题的网站,它的默认标志是白色,默认背景是黑色。但是,当我向下滚动时,有些部分有白色背景,因此徽标必须将颜色更改为黑色。 基于滚动位置设置它是不可能的,因为所有部分都有不同的高度,并且高度通常取决于内容 我发现了混合颜色,但不幸的是,它在不同浏览器中的支持非常差。还尝试了许多npm软件包,但似乎没有一个能适应背景色 有没有其他方法可以在不获取背景色的情况下动态更改徽标颜色 答复1 我从未尝试过,但我认为这可能会找到答案 你可以用 这将在某个x,y点检索顶部元素 因此,您可以将x和y设置为1px,沿着模态的边界向下,或者在您知道的某个位置,该位置将只包含具有您想要的背景颜色的元素,并获取该元素 在滚动事件侦听器上,检查该位置的元素是什么,并获取其背景色 这是一件好事吗?也许不是,但它可以工作,并且在浏览器之间有很好的支持 答复2 无法根据滚动位置进行设置 当然有可能 如果模态的位置为绝对位置,则可以获取模态的ref并使用element.getBoundingClientRect获取其位置 然后,在每个截面上,您还将获得ref。您将在父组件中拥有一个截面ref数组,该数组知道模态的ref和截面的ref 然后,在滚动事件中,对每个截面元素使用getBoundingClientRect,并检查它是否位于modal徽标内 要检查它是否在里面,如果滚动是垂直的,您只需使用顶部和底部 这很难实现,但我认为这是一条路要走Reactjs 如何在React中检测背景色,reactjs,Reactjs,有没有办法动态检测页面某一点的背景色?我有一个固定标题的网站,它的默认标志是白色,默认背景是黑色。但是,当我向下滚动时,有些部分有白色背景,因此徽标必须将颜色更改为黑色。 基于滚动位置设置它是不可能的,因为所有部分都有不同的高度,并且高度通常取决于内容 我发现了混合颜色,但不幸的是,它在不同浏览器中的支持非常差。还尝试了许多npm软件包,但似乎没有一个能适应背景色 有没有其他方法可以在不获取背景色的情况下动态更改徽标颜色 答复1 我从未尝试过,但我认为这可能会找到答案 你可以用 这将在某个x,y