我最后留下了跨浏览器兼容性问题,似乎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没有移动到后期...... :(
答案 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
类似的东西可能是让你的对象兼容编辑的开始。