2013-04-08 41 views

回答

7

確保你叫它後的元素已經準備好,使用類似window.onload或只是有物理腳本在元素後面的頁面上...並設置適當的屬性:

window.onload = function() { 
    document.getElementById("page").style.webkitFilter = "blur(5px)"; 
}; 

元素的style屬性是一個需要設置屬性的對象。您不應也不能將style屬性設置爲字符串。當我嘗試時,出現SyntaxError: invalid label錯誤。我知道設置特殊的「-webkit-filter」風格可能會引起混淆,但是「-webkit-」風格遵循style對象中的約定 - 沒有引導的「 - 」,並替換其他的「 - 」 s與camelCase。

與此同時,它可能更容易,更高效(因此您可以添加其他樣式)來切換class,而不是專門設置style屬性。所以我建議使用:

document.getElementById("page").className += " transformer"; 

和定義的CSS類:

.transformer { 
    -webkit-filter: blur(5px); 
} 

這樣一來,如果有其他特定瀏覽器中實現風格,可以很容易地只需添加它們在這裏。具體而言,使用供應商前綴。

+0

哦,謝謝你的幫助:)完美的作品! – eds1999 2013-04-08 17:39:37

0

您可能在元素添加到頁面之前執行腳本。

如果你的網頁是沿着線:

<!DOCTYPE html> 
<html> 
<head> 
    <script>...</script> 
</head> 
<body> 
    <div id="page">some content</div> 
</body> 
</html> 

然後你需要等待文件準備或試圖訪問#page元素之前的onload事件。