【问题标题】:Grayscale in CSS + JavascriptCSS + Javascript 中的灰度
【发布时间】:2021-11-04 00:50:50
【问题描述】:

有人可以帮助我吗,我在 html 中创建我的网站,并希望使图像最初采用“灰度”配色方案,当点击被着色时,我在 css 中使用 (filter: grayscale(1);) 和我想知道如何点击图片变回颜色。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: javascript html css colors grayscale


【解决方案1】:

基于@Sina Kadkhodaei 的回答,我会以这种方式进行 onclick。更具可读性 imo。

function removeClass(element) {
    element.classList.remove("filter");
}
.filter {
    filter: grayscale(1);
}
<img class="filter" onclick="removeClass(this)" src="https://downloadly.ir/wp-content/uploads/2019/08/Acronis-True-Image.png">

【讨论】:

    【解决方案2】:

    如果您想在鼠标按下时着色,请在 css 中使用 :active

    #sample{
      filter: grayscale(1);
    }
    
    #sample:active{
      filter: grayscale(0);
    }
    &lt;img id="sample" src="https://downloadly.ir/wp-content/uploads/2019/08/Acronis-True-Image.png"&gt;

    或者

    如果您想在鼠标点击时着色,请在 JS 中使用 onclickstyle.filter

    let imgs=document.getElementsByTagName('img');
    for(let i=0;i<imgs.length;i++)
    imgs[i].onclick=function(){this.style.filter="grayscale(0)";};
    #sample{
    filter: grayscale(1);
    }
    &lt;img id="sample" src="https://downloadly.ir/wp-content/uploads/2019/08/Acronis-True-Image.png"&gt;

    【讨论】:

      猜你喜欢
      • 2022-09-24
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      • 2012-09-03
      • 1970-01-01
      • 2016-03-18
      • 2013-04-26
      • 1970-01-01
      相关资源
      最近更新 更多