Javascript 将1添加到z-index onclick以实现IE兼容性

Javascript 将1添加到z-index onclick以实现IE兼容性,javascript,jquery,raphael,Javascript,Jquery,Raphael,我正在用拉斐尔绘制一张地图。到目前为止,我已经在Chrome和Firefox中使用了,但是我如何使它与IE兼容呢?这是我的测试地图的链接 下面是javascript: st[0].onclick = function () { var maxZ = Math.max.apply(null,$.map($("#paper > *"), function(e,n){ if($(e).css("position")=="absolute")

我正在用拉斐尔绘制一张地图。到目前为止,我已经在Chrome和Firefox中使用了,但是我如何使它与IE兼容呢?这是我的测试地图的链接

下面是javascript:

st[0].onclick = function () {       
    var maxZ = Math.max.apply(null,$.map($("#paper > *"), function(e,n){
           if($(e).css("position")=="absolute")
                return parseInt($(e).css("z-Index"))||1 ;
           })
    );

    document.getElementById(current).style.display = "block";
    document.getElementById(current).style.zIndex = maxZ+1;

    current = state;
};

我在IE8上的IE控制台中出错: 对象不支持此属性或方法-imsep.js中的第31行

   $(function() {
            $("#accordion").accordion({
                autoHeight: false,
                navigation: true,
                active: false,
                collapsible: true
            });
        });
从我所看到的,问题在于设置显示:块;所以它可能与这个js错误有关

编辑: 当我通过ie dom检查器手动设置显示块时,我看到了div

编辑2: 我在您的页面上找不到手风琴,您可能需要执行以下操作:

$(function() {
      if($("#accordion").length > 0)
            $("#accordion").accordion({
                autoHeight: false,
                navigation: true,
                active: false,
                collapsible: true
            });
    });

我可以告诉你的一件事是,在IE中,标记中出现的较低的元素(但不是同一父元素的子元素)将始终具有较高的z索引。 有两种可能的解决方案:

1) 重新编写代码,使其不依赖于z索引(
绝对
定位元素应始终显示在
相对
静态
元素的上方)

2) 实际移动文档正文底部的已定位div

此外,您的
maxZ
计算看起来既笨拙又混乱。您确定
max()
实际上可以处理任意值数组(即元素数超过2个)吗?在IE中,更具体地说


如果您需要更多帮助,请发布您的标记。

为什么目前它与IE不兼容?您遇到了什么问题/错误?在IE中,包含我的信息的div没有显示onclick。您所说的div是指包含联系信息的div。对吧?对!我使用的css选择器与IE兼容,因此我不知道脚本中没有显示的其他错误。只是调试了手风琴,并更改了一些其他东西以在需要时使用。这是有用的,但不是我当前问题的答案。谢谢你!我不再在ie中发现错误,但我仍然认为问题在于
document.getElementById(当前).style.display='block'
在这一行之前尝试
alert(当前)
,看看它是否正确。好的。警报(当前)不适用于IE,但适用于Firefox和Chrome。“getElementById”在IE中不起作用,有没有其他方法可以使用?它在IE中起作用,但在设置
状态
当前状态
方面有很多不同之处。可能(但我非常不确定)问题在于绑定mouseover/mouseout事件时,可能它们没有触发。我会在你更改/设置
current
的任何地方放置一些警报,以查找实际的bug。我的意思是,getElementById在ie中工作,但是
current
可能仍然为空,而不是使用z索引,我可以使用jQuery在divs中切换。但现在我的问题是如何让它与拉斐尔合作。下面是一个有效的测试页面: