使用firefox删除css中div的filter属性

时间:2013-06-12 09:51:43

标签: javascript css svg svg-filters

我试图删除我在我的所有身体上应用的某个div的属性“过滤器”,但我做的所有事情都不起作用。

我做了一个小提示来展示这件事: http://jsfiddle.net/fAmu4/1/

我希望当光标在它上面时蓝色div没有模糊。

我试过“过滤器:无;”但它不起作用。我还试图应用一个新的模糊:

<filter id="remove-blur">
   <feGaussianBlur stdDeviation="0" />
</filter>

也不起作用。

我也在互联网上看到了这一点,但无法找到解决方案。 重要的是要注意我的代码只能在firefox中使用。

提前感谢!

编辑:

工作小提琴: http://jsfiddle.net/fAmu4/5/

2 个答案:

答案 0 :(得分:1)

像以前的帖子一样。你可以添加一个类标签&#34; = blur&#34;每个div你想要应用效果和目标。 或仅使用&#34; div&#34;作为影响所有目标的目标,然后给你想要显示一个你可以瞄准它的目标或者ID的div。

答案 1 :(得分:0)

这可能会有所帮助:(fiddle

<强>式

body.blur {
    filter:url(#blur-effect);
}

#haut{
    background-color: dodgerblue;
    margin-bottom:10px;
}

#bas{
    background-color: darkred;
}
#bas2{
    background-color: red;
}

<强> HTML

<div id="haut" onmouseover="flou();" onmouseout="flou();">
    test
</div>

<div id="bas">
    test
</div>

<svg>
   <filter id="blur-effect">
       <feGaussianBlur stdDeviation="5" />
   </filter>
</svg>

<div id="bas2">
    test
</div>

<强> JS

 function flou() {
        b = document.body;
        c = b.className;
        if (c.indexOf('blur') > 0) {//when blur is active
            b.className = ""
    //remove blur
        } else {
            b.className += ' blur'; //apply blur
        }
    }
document.getElementById('haut').onmouseover=function(){document.body.className="";}

或类似this之类的内容 或this