z-index在IE中不起作用

时间:2009-08-18 07:31:04

标签: javascript html iframe dhtml

我有一个按钮,点击按钮时我只生成一个包含一些复选框的div。如果用户选中所需的复选框,则会根据复选框的值生成iframe,div将消失。它放在按钮下方。到目前为止它的工作正常。 如果用户再次单击该按钮,则删除div位于框架后面。请帮我把它放在画面上方。我使用过z-index,它在firefox中运行 - 但我不能在IE中使用它。

请帮我解决这个问题。

谢谢你praveen j

3 个答案:

答案 0 :(得分:1)

IE和z-index存在已知问题。您首先使用的是哪个版本的IE?这也有帮助吗?它看起来很相关,您可能需要获取代码才能解决此问题 - > http://www.webmasterworld.com/css/3337315.htm

答案 1 :(得分:0)

当div出现时,将iFrame的zIndex更改为负值,当div消失时将其更改为正值。

这可能会对你有帮助。

INFO: How the Z-index Attribute Works for HTML Elements

答案 2 :(得分:0)

为什么不使用

#layer
{
 visibility:hidden;
}

然后将其更改为可见,然后再次隐藏,以下函数更改css

function changecss(theClass,element,value) {
     var cssRules;
     var added = false;
     for (var S = 0; S < document.styleSheets.length; S++){
    if (document.styleSheets[S]['rules']) {
      cssRules = 'rules';
     } else if (document.styleSheets[S]['cssRules']) {
      cssRules = 'cssRules';
     } else {
      //no rules found... browser unknown
     }
      for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
       if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
        if(document.styleSheets[S][cssRules][R].style[element]){
        document.styleSheets[S][cssRules][R].style[element] = value;
        added=true;
        break;
        }
       }
      }
      if(!added){
      if(document.styleSheets[S].insertRule){
              document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
            } else if (document.styleSheets[S].addRule) {
                document.styleSheets[S].addRule(theClass,element+': '+value+';');
            }
      }
     }
    }

像这样调用这个函数

javascript:changecss('#layer','visibility','visible');<br>
javascript:changecss('#layer','visibility','hidden');