我正在使用Raphael整理地图。到目前为止我在Chrome和Firefox中的作用,但我怎样才能使它与IE兼容?这是我的测试地图的链接。 http://www.imsmfg.com/imsepracks/sales-reps.php
这是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;
};
答案 0 :(得分:0)
我在IE8上的IE控制台中出错: Object不支持此属性或方法 - imsep.js中的第31行
$(function() {
$("#accordion").accordion({
autoHeight: false,
navigation: true,
active: false,
collapsible: true
});
});
从我所看到的,问题出在于设置display:block;所以它可能与这个js错误有关。
编辑: 当我通过ie dom检查器手动设置显示块时,我看到div。
EDIT2: 我在你的页面上找不到#acordord,你可能想要做类似的事情:
$(function() {
if($("#accordion").length > 0)
$("#accordion").accordion({
autoHeight: false,
navigation: true,
active: false,
collapsible: true
});
});
答案 1 :(得分:0)
我可以告诉你的一点是,在IE中,标记中出现较低的元素(但不是同一父元素的子元素)将始终具有更高的z-index。 有两种可能的解决方案:
1)将代码重新编写为不依赖于z-index(absolute
定位元素应始终显示在relative
或static
之上
2)将您定位的div物理移动到文档正文的底部。
此外,您的maxZ
计算看起来很笨拙。你确定max()
实际上可以使用任意数组值(即元素数超过2)吗?在IE中,更具体地说。
如果您需要更多帮助,请发布您的标记。