当前位置: 首页 > 知识库问答 >
问题:

更改滚动图上元素的颜色

澹台景山
2023-03-14

我有一个固定的头与一个标志和一些文本。这些元素当前为白色。(背景颜色:#fff)

当我向下滚动时,各部分以不同的背景颜色显示:

white
black
black
white
green
etc.

我想改变标题中元素的颜色,这取决于标题当前在上面的部分。我可以做混合模式(白色/黑色),但我也有绿色部分。我也可以这样做,检查什么部分是在视图中,然后改变颜色。

但是我想知道是否有某种方法可以通过JavaScript获得当前在header下面的元素(在div下面的div)。通过下面我的视觉像Z索引下面。

如果是这样,我还可以获得元素的css样式。有什么想法吗?

共有1个答案

陈霄
2023-03-14

您可以为此利用documentscroll事件。

然后,使用windowpageyoffsetscrollmaxy可以确定滚动多远。

null

var maxOffset = window.scrollMaxY;
function onScroll(event) {
  let offset = window.pageYOffset;
  let color = "#"+(Math.round(offset/maxOffset*9))+"00000";

  document.getElementById("example").style = "color:"+color+";";
  
}
document.addEventListener('scroll', onScroll);
html lang-html prettyprint-override"><p id="example" style="foreground-color:#FF0000">Color!</p>
 类似资料:
  • 问题内容: 我想使用CSS 更改标签的颜色。我在下面尝试过的代码似乎不起作用: 问题答案: 我想如果您打算更改tag 产生的线条的颜色,则应该使用而不是。 虽然,在注释中已指出,如果您更改线条的大小,边框仍将与样式中指定的宽度一样,并且线条将被填充为默认颜色(大多数情况下这不是理想的效果)时间)。因此,在这种情况下,您似乎还需要指定(如@Ibu在其答案中建议的那样)。 HTML 5 Boilerp

  • 问题内容: 我想在Firefox中更改滚动条颜色。我怎样才能做到这一点? 问题答案: 在Firefox中更改滚动条颜色并不像在Internet Explorer和Opera中那样简单。Firefox仅允许通过主题设置滚动条的样式。这是一件好事。许多用户不喜欢界面设计师随心所欲地随意更改界面小部件的外观。对于可能使用高对比度主题的视障访客来说,更改界面部件的外观甚至可能是一个更大的问题。 就是说,如

  • 问题内容: 我想使用这项技术并更改svg颜色,但到目前为止我还没有做到这一点。我把它放在css中,但是无论如何我的图像总是黑色的。我的代码: 问题答案: 您不能以这种方式更改图像的颜色。如果将SVG加载为图像,则无法在浏览器中使用CSS或Javascript更改其显示方式。 如果你想改变你的SVG图像,你必须用它来装载,或使用在线。 如果要使用页面中的技术,则需要Modernizr库,您可以在其中

  • 如何设置没有背景色的导航栏? 当在div之后向下滚动导航条时,导航条会得到一个新的背景颜色(导航条应该固定在顶部,我在引导中使用) 我尝试过一些教程,但没有成功。 这是网站:http://attafothman.olympe.in/ 我说的是上面那个黑色导航条。

  • 我想将JScrollPane滚动条颜色更改为黑色。我试图使用UIManger进行更改。但什么也没找到。

  • 我已经了解到您不能将事件添加到默认的calendarview(它只是在用户的默认日历中处理),所以我使用了caldroid https://github.com/roomorama/caldroid/blob/master/readme.md,到目前为止,它对文档很有帮助,但当涉及到一件事时,我感到迷茫。 我想做的是改变任何日期的颜色,有一个事件。文档中说要制作一个drawable并将其放入单元格