用javascript交换图标中的像素?

用javascript交换图标中的像素?,javascript,pixels,Javascript,Pixels,我有一个由图标和标签组成的菜单。单击图标时,相关标签将变为蓝色。我最近听说了一种叫做交换像素的技术,我想知道是否有可能使图标也变成蓝色? 如果可能的话,纯Javascript 这是我目前掌握的密码 function init() { [].forEach.call(document.querySelectorAll('.navico'), function(el) { el.addEventListener('click', imageButtonClickHandl

我有一个由图标和标签组成的菜单。单击图标时,相关标签将变为蓝色。我最近听说了一种叫做交换像素的技术,我想知道是否有可能使图标也变成蓝色? 如果可能的话,纯Javascript

这是我目前掌握的密码

function init() {

    [].forEach.call(document.querySelectorAll('.navico'), function(el) { 
        el.addEventListener('click', imageButtonClickHandler); 
    });


    function imageButtonClickHandler() {  

    this.id.search("aboutnav"); 
       if(this.id.match("aboutnav")) {
            grey();
            var a = document.getElementById("a");
            a.style.color = 'blue';
            a.style.fontSize = '15px';

        }
在上面的函数中调用的函数“grey”是JQuery,是由我的合作伙伴创建的,所以我不理解它,但它基本上会在取消选择或单击其他图标后将所选菜单选项变回灰色


提前感谢。

如果图标是图像,则无法使用JavaScript直接修改图像。然而,有一些技术可以通过使用其他图像来修改图像的外观

例如,如果“将图标变为蓝色”意味着您希望更改图标中特定的颜色图案,则可以创建另一个图像,其中仅包含您希望变为蓝色的部分以及图像中所有其他内容的透明部分(考虑剪切)。然后,将图像放置在与具有更高z索引的图标相同的位置,但将其可见性设置为:隐藏(或显示:无,如果愿意)。然后将图像变成蓝色就意味着显示图像

如果将图标变成蓝色意味着您希望它只带有蓝色的“色调”,那么您可以创建一个半透明的png并使用相同的技术。您也可以通过创建一个元素(比如div)并将背景色设置为蓝色,然后设置透明度来实现蓝色色调。通过这种方式,您可以选择任意颜色,而不必为要使用的每种颜色创建图像