IE javascript兼容性正在扼杀我

时间:2009-06-30 22:39:07

标签: javascript jquery css internet-explorer

我最后留下了跨浏览器兼容性问题,似乎IE将是一个巨大的痛苦。 IE中没有任何工作;

首先,以下内容无效:

var img = document.createElement("img");
img.setAttribute("height", "270px");

我有一个不可见的div onmouseover,它显示一个透明的div“cpanel”。我也无法访问它。

if(hover.addEventListener){
    hover.addEventListener('mouseover',function () {$('#cpanel').fadeIn("slow");/*Core.addClass(cpanel,"on");*/},false);
    hover.addEventListener('mouseout', function () {$('#cpanel').fadeOut("slow");/*Core.removeClass(cpanel,"on");*/},false);
}
else if(hover.attachEvent) {
    hover.attachEvent('onmouseover',function () {$('#cpanel').fadeIn("slow");/*Core.addClass(cpanel,"on");*/});
    hover.attachEvent('onmouseout', function () {$('#cpanel').fadeOut("slow");/*Core.removeClass(cpanel,"on");*/}); 
}

也许有一些z-index问题?

我无法找到更多错误,因为IE没有移动到后期...... :(

4 个答案:

答案 0 :(得分:4)

为什么在jquery(已经在页面上看起来)可以更可靠地连接你的事件处理程序?

$(hover).mouseover(function () { $('#cpanel').fadeIn("slow"); });
$(hover).mouseout(function () { $('#cpanel').fadeOut("slow"); });

对于图像:

var img = $("<img />");
img.css("height", "270px");

答案 1 :(得分:2)

@height属性(与高度样式属性不同)仅接受数值。

img.setAttribute("height", "270");

答案 2 :(得分:0)

或者将它们全部组合

$('<img/>').height(270).append('body');

如果未指定px,则默认采用jQuery height method

甚至

$('<img/>').css({'height':'270px'}).append('body');

追加(或前置)任何你需要的东西。

对于悬停,您正在尝试

var $cpanel = $('#cpanel');
$(div).hover(function(){//hover
$cpanel.fadeIn("slow");
},
function(){//hover out
$cpanel.fadeOut("slow");
});

最重要的是将面板缓存在var save中,查找它2次。

答案 3 :(得分:0)

也许你可以尝试这样的东西......会带你去弄清楚如何实现...但你可以使用基本变量声明来进行javascript dom更改

 var cross=document.all? document.all.cpanel: document.getElementById("cpanel");

   cross.style.width=100 +"px";   //eg of setting style.width property

类似的东西可能是让你的对象兼容编辑的开始。