JavaScript - 为什么这段代码不起作用?

时间:2013-12-03 18:25:34

标签: javascript html css filter opacity

我使用JavaScript和CSS尝试使用iframe创建一个masic消息框。我想要发生的是opacity 0.4 function messageBox(text) { document.style.opacity = 0.4; document.style.filter = 'alpha(opacity=40);'; var box = document.createElement('iframe'); box.setAttribute('id', 'msgBox'); } 的文档,以及要显示的消息框。但是,这一切都不会发生。我该怎么办?

我的JavaScript

 #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;
}

我的CSS

{{1}}

http://jsfiddle.net/a4m9d/

2 个答案:

答案 0 :(得分: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,但性能和灵活性

答案 1 :(得分: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/