2013-12-03 55 views
1

我使用JavaScript和CSS來嘗試並使用iframe做出MASIC消息框。我想發生是有0.4opacity文檔,消息框來顯示。但是,沒有發生。我該怎麼辦?JavaScript - 爲什麼這段代碼不工作?

我的JavaScript

function messageBox(text) 
{ 
    document.style.opacity = 0.4; 
    document.style.filter = 'alpha(opacity=40);'; 
    var box = document.createElement('iframe'); 
    box.setAttribute('id', 'msgBox'); 
} 

我的CSS

#msgBox 
{ 
    position:absolute; 
    top:0; 
    left:0; 
    right:0; 
    bottom:0; 
    height: 250px; 
    width: 350px; 
    background-color: #CCC; 
    margin: auto; 
    z-index:9999; 
    color:white; 
    box-shadow:1px 1px 1px 1px #444; 
} 

http://jsfiddle.net/a4m9d/

+2

請創建一個小提琴和檢查。 – AurA

+0

先嚐試使用DIV,然後嘗試使用iFrame。問題可能是iFrame –

+0

你有沒有試圖自己調試?你的HTML是什麼樣的?你怎麼調用'messageBox'?你看到你的控制檯有任何錯誤嗎?你確定'messageBox'甚至被調用嗎? –

回答

3
function messageBox(text){ 
    document.body.style.opacity = 0.4; 
    document.body.style.filter = 'alpha(opacity="40");'; 
    var box = document.createElement('iframe'); 
    box.id='msgBox'; 
    document.body.appendChild(box); 
} 

雖然我會建議使用一個div,而不是一個iframe,性能和靈活性

+0

謝謝 - 我會怎麼做它,該文件的所有其餘部分具有較低的不透明度和內嵌框架不? – user2976089

+0

將你網頁的其餘部分封裝在一個div中,在該div上設置不透明度 – aelgoa

1

document沒有style財產。只有元素具有樣式,並且document不是元素。

您要定位的<body>,所以儘量document.body代替。

function messageBox(text) { 
    document.body.style.opacity = 0.4; 
    document.body.style.filter = 'alpha(opacity="40");'; 
    var box = document.createElement('iframe'); 
    box.setAttribute('id', 'msgBox'); 
} 

DEMO:http://jsfiddle.net/a4m9d/3/