2013-06-12 46 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。