2013-06-12 44 views
0

我试图删除我的一个div的属性“过滤器”,我适用于我的全身,但我所做的所有事情都不起作用。使用Firefox删除CSS中的div的过滤器属性

我做了一个小提琴,显示的东西:http://jsfiddle.net/fAmu4/1/

我想,蓝色DIV没有它模糊当光标就可以了。

我试过了“filter:none;”但它不起作用。我也试图申请一个新的模糊:

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

哪些不工作太。

我也在互联网上观看过,但没办法找到解决方案。 重要的是要注意,我的代码只能在Firefox中使用。

提前致谢!

编辑:

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

+0

更新了其他2小提琴,请让我知道 –

+2

如果您对父母有过滤器,则所有孩子都会被过滤。这只是过滤器的工作方式。 –

+0

@RobertLongson我明白了。我注意到在我的网站中,我得到了一个包含我想模糊的所有元素的div。我会试着去模糊那个div,看看会发生什么,谢谢你的回答! – Off

回答

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="";} 

或类似thisthis

+0

这不是我想要的对不起!我想模糊除一个以外的所有div,但我认为我们不能这样做。 感谢您的回答 – Off

+0

@Off我不明白你到底需要什么,但是我可以建议你定位你想要模糊的元素,然后用js控制这些元素 –

+0

对不起,我的英语非常糟糕。我实际上正在做你的建议,如果它能够发挥作用,我会发布它的一个小提琴,我会发挥它的作用。 – Off

1

像以前的帖子。您可以为每个想要应用效果的目标添加一个类标记“= blur”。 或者只使用“div”作为目标来实现所有效果,然后给予你想要显示一个你可以锁定目标的类或者id的div。