我有一个网站,我想有从黑色和白色的变化,当观众滚动彩色图像。图像原来是彩色的,但我用了css过滤器来创建灰度效果。
我知道如何在浏览器悬停在图像上时创建效果,但我想让它在滚动时发生变化。
下面是我的hover effect代码:
.contact {
filter: grayscale(100%);
-webkit-filter:grayscale(100%);
}
.contact:hover {
filter: grayscale(0);
-webkit-filter:grayscale(0);
}
字符串
谢谢您的帮助!
2条答案
按热度按时间9ceoxa921#
为黑色和白色定义一个类,为颜色定义另一个类:
字符串
然后在窗口上添加一个监听器:
型
颜色将改变时,达到垂直滚动的定义量,并会恢复,如果你向上滚动。我不知道这是否正是你想要的,但你可以很容易地适应它取决于你的需要。
vptzau2j2#
不知道我是否理解正确,但我假设你希望你的图像在滚动时打开b/w。独立于你在页面上的位置。
JavaScript有一个onScroll事件,但是每次滚动时都会触发,所以第一次得到这个事件时,如果半秒内没有触发滚动事件,就改为b/w并将颜色改回来。我使用setbacks()来延迟完成这一任务。
这里有一个小提琴,显示的概念:https://jsfiddle.net/rzqcwzrh/107/
字符串